我想在我創建Yii2的Restful API中使用TimestampBehavior,但是當我使用POST端點創建一個新實體時,返回數據很奇怪。YII2 Restful post和TimestampBehavior
{
"i18_id": 3,
"language": "es",
"text": "un test de traducción",
"created_at": {
"expression": "NOW()",
"params": [ ]
},
"updated_at": {
"expression": "NOW()",
"params": [ ]
},
"id": 2
}
當我以後得到實體時,一切看起來都很好。
這裏是如何,我宣佈的行爲在我的模型:
public function behaviors()
{
return [
'timestamp' => [
'class' => 'yii\behaviors\TimestampBehavior',
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
'value' => new Expression('NOW()'),
],
];
}
一個簡單的解決方法是用'time()'替換'new Expression('NOW()')'。 – Cthulhu
它可能在Expression命名空間中輸入錯誤嗎?它應該是yii \ db \ Expression。 –