Yii 表示它可以自动设置时间戳“created_at”:http://www.yiiframework.com/doc-2.0/guide-concept-behaviors.html#using-timestampbehavior
但是,每次创建记录时,时间都是空白:
$ yii kw/test
1437683634
mysql> select * from ad_group_keyword_network where ad_group_keyword_id = 1;
+---------------------+-
| created_at |
+---------------------+-
| 0000-00-00 00:00:00 |
| 0000-00-00 00:00:00 |
+---------------------+-
public function actionTest() {
$agkn = new AdGroupKeywordNetwork();
$agkn->save();
echo $agkn->created_at;
我尝试使用 Schema::TYPE_TIMESTAMP
并更改了字段,并尝试使用 Schema::TYPE_DATETIME
。保存后,它们都在字段中返回整数时间戳,但数据库中的时间全为0。
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => [],
最佳答案
您的 created_at
类型必须为 INT (11) 才能使 Yii 2 时间戳行为工作。我认为您使用的 TIMESTAMP 类型不起作用。
关于php - Yii 时间戳是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31597702/