我正在创建一个有created_at (datetime)
字段的记录。保存记录时,仅将日期保存到数据库中。
制作行动
public function actionCreate()
{
$model = new Meters();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
保存的日期类似于2017-12-03 00:00:00
。我也使用了var_dump($model)
而且我得到了约会而不是时间。
我不知道我错过了什么。
更新1
我的模特是
public function rules()
{
return [
[['meter_msn','description','meter_status','historic'],'required'],
//[['meter_msn'],'unique','message'=>'This meter already exists'],
[['created_at', 'updated_at','comments'], 'safe'],
[['created_by', 'updated_by', 'status','historic'], 'integer'],
[['description', 'meter_msn'], 'string', 'max' => 200],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'description' => 'Name',
'meter_msn' => 'Meter MSN',
'created_at' => 'Created At',
'updated_at' => 'Updated At',
'created_by' => 'Created By',
'updated_by' => 'Updated By',
'status' => 'Status',
'comments' => 'Comments',
'meter_status' => 'Meter Status',
'historic'=> 'Version'
];
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
将以下内容添加到您的模型中:
public function beforeSave($insert)
{
if($this->isNewRecord) {
$this->created_at = date('Y-m-d H:i:s');
}else {
$this->updated_at = date('Y-m-d H:i:s');
}
return parent::beforeSave($insert);
}