gpt4 book ai didi

php - Yii2 无法从 MySQL 获取日期

转载 作者:行者123 更新时间:2023-11-28 23:57:37 25 4
gpt4 key购买 nike

我有一个像留言簿这样的简单应用程序,我正在使用带有 REST Controller 的 yii2。

我的模型 Message 是:

class Message extends ActiveRecord 
{
public $created_at;

public static function tableName()
{
return "{{%messages}}";
}

public function behaviors()
{
// return [
// 'timestamp' => [
// 'class' => TimestampBehavior::className(),
// 'attributes' => [
// ActiveRecord::EVENT_BEFORE_INSERT => 'created_at',
// ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at'
// ],
// 'value' => function() { return time(); }
// ]
// ];
return [TimestampBehavior::className()];
}

public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
$this->created_at = time('U');
return true;
} else {
return false;
}
}

public function rules()
{
return [
[['username', 'message'], 'required']
];
}

public function fields()
{
return [
'id',
'username',
'message',
'created_at'
];
}

我的 REST Controller MessageController 是:

class MessageController extends ActiveController
{
public $modelClass = 'frontend\models\Message';

public function behaviors()
{
return parent::behaviors();
}

}

我已经通过 JSON 获取数据,created_at 值始终为零。在我的 mysql5 中,我有列 created_at

`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

从终端命令 select * from messages 返回结果 created_at2015-07-01 17:57:39

最佳答案

如果数据库表 message 中已有列 created_at,则不需要在消息模型中创建新字段 created_at。模型中的这个字段隐藏了数据库中的字段。从模型中删除该字段。

关于php - Yii2 无法从 MySQL 获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31165168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com