Mik*_*tin 1 php time frameworks yii
我尝试在我的用户表中更新de last_login_time,但time()总是比使用该函数的updatedTime行为高5h
public function behaviors()
{
return array(
'timestamps' => array(
'class' => 'zii.behaviors.CTimestampBehavior',
'createAttribute' => 'create_time',
'updateAttribute' => 'update_time',
'setUpdateOnCreate' => true,
)
);
}
Run Code Online (Sandbox Code Playgroud)
我更新last_login_time的功能非常简单:
private function userLogedin()
{
$user = User::model()->findByPk($this->auth->user_id);
$user->last_login_time = date('Y-m-d H:i:s',time());
return $user->save();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能拥有与行为相同的时间?有没有更好的方式来创建这种更新?
非常感谢你!我是Yii的新手,这是我的第一个应用程序,所以请善待^^
CTimestampBehavior根据数据库服务器的本地时间设置时间NOW().您的代码根据Web服务器的本地时间设置时间,如下所示time().
两台服务器之间的时区差异应该考虑到5小时的差异.
如果您希望获得CTimestampBehavior与您自己的代码类似语法的相同效果,则必须使用CDbExpression:
$user = User::model()->findByPk($this->auth->user_id);
$user->last_login_time = new CDbExpression('NOW()');
return $user->save();
Run Code Online (Sandbox Code Playgroud)
还有同样的例子在这里.
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |