8 yii2
我想将当前系统时间添加到数据库中,同时在"time_created"列中插入新记录到数据库中.PHP的time()函数在yii2中没有支持.我想要yii2特定的时间功能,这将帮助我保存当前的时间戳.有谁知道????
Yii 2对此有特殊的行为.只需将其附加到模型上即可.将此添加到模型中的behaviors()方法:
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
public function behaviors()
{
return [
// Other behaviors
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'time_created',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
];
}
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以使用yii\db\Expression来执行SQL函数
<?php
use yii\db\Expression;
$model->time_created = new Expression('NOW()');
$model->save();
Run Code Online (Sandbox Code Playgroud)
您还可以使用Yii2的formatter如下所示:
Yii::$app->formatter->asTimestamp(date('Y-d-m h:i:s')); //1410488596
Yii::$app->formatter->asDatetime(date('Y-d-m h:i:s')); //Sep 12, 2014, 2:21:56 AM
Run Code Online (Sandbox Code Playgroud)
小智 5
也许这是旧的,但它可能会帮助其他人.在模型中添加以下代码.确保将更createdAttribute改为属性.你还必须包括:
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'entry_date',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
];
}
Run Code Online (Sandbox Code Playgroud)