在Eloquent中实例化由两个时间戳建立的模型 - created_at和updated_at具有相同的值。但是,根据创建标签时的逻辑,应确定下次升级时创建的标签和标签是否更新。如何解决?
Eloquent 5.2,db中的created_at和updated_at是整数(受保护的$ dateFormat =' U')
更新 - 当我使用该方法时,属性 created_at 和 updated_at 仍然会同时更新。这是第一个动作 - 创作,被设置为平等。第二个动作 - 更新。同样,两个字段都会更新,并且它们具有相同的值。
答案 0 :(得分:0)
这就是Laravel有时会做的事情,而不是让updated_at
null也是一种避免非空约束问题的方法。但如果你愿意,你可以为你解决这个问题。你可能会做这样的事情:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model as Eloquent;
class BaseModel extends Eloquent
{
public function save(array $options = [])
{
$saved = parent::save($options);
if ($this->wasRecentlyCreated) {
$this->updated_at = null;
parent::save($options);
}
return $saved;
}
}
在所有模型中使用此BaseModel