【发布时间】:2016-11-07 02:06:03
【问题描述】:
我尝试将当前 user_id 保存到数据库中的教育表中。但是,user_id 的数据没有填写。这是我的代码。
在模型中
public function rules()
{
return [
[['year', 'fieldstudy', 'institute', 'grade'], 'required'],
[['user_id'], 'integer'],
[['year', 'fieldstudy', 'institute', 'grade'], 'string', 'max' => 255],
];
}
public function attributeLabels()
{
return [
'education_id' => 'Education ID',
'user_id' => 'User ID',
'year' => 'Year',
'fieldstudy' => 'Fieldstudy',
'institute' => 'Institute',
'grade' => 'Grade',
];
}
public function getUser()
{
return $this->hasOne(User::className(), ['user_id' => 'user_id']);
}
在控制器处
public function actionCreate()
{
$model = new Education();
$model->user_id =Yii::$app->user->id;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->education_id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
如何解决我的问题并修复我的代码?谢谢
【问题讨论】:
-
试试 Yii::$app->user->user_id
-
新的 Educatiion 实例保存在 db 中,但没有正确的 user_id 代码或没有保存?
标签: yii2 yii2-advanced-app yii2-user