как правильно сделать? заранее спасибо
Код: Выделить всё
<?= $form->field($model, 'user_id')-> hiddenInput()->label(false, ['style'=>'display:none']) ?>
Код: Выделить всё
<?= $form->field($model, 'user_id')-> hiddenInput()->label(false, ['style'=>'display:none']) ?>
zelenin писал(а):$model->user_id = Yii::$app->getUser()->getId();
если вы об этом. но вообще, суля по всему, вы неправильным путем пошли.
Код: Выделить всё
<?= $form->field($model->user_id = Yii::$app->getUser()->getId();, 'user_id')-> hiddenInput()->label(false, ['style'=>'display:none']) ?>
viewtopic.php?f=19&t=35701alexa777 писал(а):zelenin писал(а):$model->user_id = Yii::$app->getUser()->getId();
если вы об этом. но вообще, суля по всему, вы неправильным путем пошли.
ТоестьКод: Выделить всё
<?= $form->field($model->user_id = Yii::$app->getUser()->getId();, 'user_id')-> hiddenInput()->label(false, ['style'=>'display:none']) ?>
А как будет правильнее?
ElisDN писал(а):А зачем его в форму передавать, если на принимающей стороне прямо можно взять прямо Yii::$app->user->id ?
Код: Выделить всё
public function actionCreate()
{
$model = new Tiser();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
естественно, иначе можно будет в hidden записать произвольный id и запостить что-то под чужим юзером.alexa777 писал(а):ElisDN писал(а):А зачем его в форму передавать, если на принимающей стороне прямо можно взять прямо Yii::$app->user->id ?
Вы имеете ввиду в контролере тут?Код: Выделить всё
public function actionCreate() { $model = new Tiser(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } }
Код: Выделить всё
$model = new Tiser();
$model->user_id = Yii::$app->user->id;
rak писал(а):естественно, иначе можно будет в hidden записать произвольный id и запостить что-то под чужим юзером.alexa777 писал(а):ElisDN писал(а):А зачем его в форму передавать, если на принимающей стороне прямо можно взять прямо Yii::$app->user->id ?
Вы имеете ввиду в контролере тут?Код: Выделить всё
public function actionCreate() { $model = new Tiser(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } }
hidden можно использовать, при, например, отправке сообщений другому пользователю, и подставлять в получателя его id. или в админке, где полем для выбора пользователя будет dropdown
а свой userid нужно прописывать в контроллере(причем в правилах валидации он вообще участвовать не должен)
Код: Выделить всё
$model = new Tiser(); $model->user_id = Yii::$app->user->id;