У меня есть, к примеру, таблица Сообщений, в которой я записываю пользователя, который оставил сообщение.
CREATE TABLE test_chat.messages ( id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL, message text NOT NULL, //... )
соответственно, в модели правила валидации
public function rules()
{
return [
[['user_id', 'message'], 'required'],
];
}
В представлении у меня форма с полем для ввода сообщения (message).
Можно ли как-то динамически записывать в поле user_id текущего залогиненного пользователя, чтобы прошла валидация на user_id => 'required' в таких методах-событиях, как beforeValidate или что-то типа того. Я хочу, чтобы:
не хочу выносить добавление этого поля в action; если такое поле одно, еще куда ни шло, но, предположим, что таких полей у меня 10 — читаемость action-а уменьшается в разы.
if(\Yii::$app->request->post())
$_POST['Messages']['user_id] = \Yii::$app->user->identity->id;
if($model->load(\Yii::$app->request->post()))
Продвижение своими сайтами как стратегия роста и независимости