yii2如何保存日期格式1970-01-01数据库
yii2 save date format how 1970-01-01 Database
我在数据库中保存数据时遇到问题。它将它们保存为 1970-01-01,无效日期。我会将它们读作 dd-mm-yyyy 并将它们转换为 yyyy-mm-dd 中的数据库。
我的模型
public function behaviors()
{
return [
[
'class' => AttributeBehavior::className(),
'attributes' => [
attribute ['created','updated']
ActiveRecord::EVENT_BEFORE_INSERT => ['data_arrivo','data_part'],
ActiveRecord::EVENT_BEFORE_UPDATE => 'data_arrivo', 'data_part'
],
'value' => function ($event) {
return date('Y-m-d', strtotime($this->data_part));
},
],
];
有什么建议吗?
您可以在模型文件中使用 beforeSave
事件。它会在将记录保存到 table.
之前得到调用
public function beforeSave($insert) {
if($this->data_part){
$this->data_part = Yii::$app->formatter->asDate(strtotime($this->data_part), "php:Y-m-d");
}
return parent::beforeSave($insert);
}
我 post 我的代码不工作
public function beforeSave($insert) {
if($this->data_part){
$this->data_part = Yii::$app->formatter->asDatetime(strtotime($this->data_part), "php:Y-m-d");
if($this->data_arrivo)
$this->data_arrivo = Yii::$app->formatter->asDatetime(strtotime($this->data_arrivo), "php:Y-m-d");
}
return parent::beforeSave($insert);
}
我在数据库中保存数据时遇到问题。它将它们保存为 1970-01-01,无效日期。我会将它们读作 dd-mm-yyyy 并将它们转换为 yyyy-mm-dd 中的数据库。
我的模型
public function behaviors()
{
return [
[
'class' => AttributeBehavior::className(),
'attributes' => [
attribute ['created','updated']
ActiveRecord::EVENT_BEFORE_INSERT => ['data_arrivo','data_part'],
ActiveRecord::EVENT_BEFORE_UPDATE => 'data_arrivo', 'data_part'
],
'value' => function ($event) {
return date('Y-m-d', strtotime($this->data_part));
},
],
];
有什么建议吗?
您可以在模型文件中使用 beforeSave
事件。它会在将记录保存到 table.
public function beforeSave($insert) {
if($this->data_part){
$this->data_part = Yii::$app->formatter->asDate(strtotime($this->data_part), "php:Y-m-d");
}
return parent::beforeSave($insert);
}
我 post 我的代码不工作
public function beforeSave($insert) {
if($this->data_part){
$this->data_part = Yii::$app->formatter->asDatetime(strtotime($this->data_part), "php:Y-m-d");
if($this->data_arrivo)
$this->data_arrivo = Yii::$app->formatter->asDatetime(strtotime($this->data_arrivo), "php:Y-m-d");
}
return parent::beforeSave($insert);
}