Как добавить значение по умолчанию к модели для сохранения?YII2 представить форму с заданным значением модели
+--------------+--------------+-
| Field | Type |
+--------------+--------------+-
| id | int(11) | ->auto increment
| grant | double(12,2) |
| lcc | double(12,2) |
| encoded_by | int(11) | ->foreign key from tbl_user
+--------------+--------------+-
вот код формы html.
<?= $form->field($model, 'grant')->textInput() ?>
<?= $form->field($model, 'lcc')->textInput() ?>
ошибка лажу представить ..
SQLSTATE [23000]: Integrity нарушение ограничения: 1452 Невозможно добавить или обновление ребенок ряд:. Ограничение внешнего ключа не удается (
ncddp
tbl_sp_bub
, скованностьtbl_sp_bub_ibfk_2
FOREIGN KEY (encoded_by
) СПРАВОЧНЫЙuser
(id
)) SQL выполняется было: INSERT INTOtbl_sp_bub
(grant
,lcc
) ЗНАЧЕНИЯ (2, 2)
Я понимаю, что должно быть значение для закодированного, являющегося идентификатором текущего пользователя.
Я пробовал это.
<?= $form->field($model, 'grant')->textInput() ?>
<?= $form->field($model, 'lcc')->textInput() ?>
<? $model->encoded_by=yii::$app->user->identity->id ?>
, а также это в контроллере ...
public function actionCreate()
{
$model = new TblSpBub();
$model->encoded_by=yii::$app->user->identity->id;//MY CODE
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['index']);
} else {
return $this->renderAjax('create', [
'model' => $model,
]);
}
}
, но безрезультатно ...
привет @arogachev. Это сработало. Огромное спасибо. – beginner