我有一个public $timestamps = false
的模型。当我调用$model->save()
时,即使我在调用updated_at
之前没有将update_at
设置为我的代码中的任何值,也会向我的数据库中的save()
列添加一个值。
我的数据库中updated_at
列的默认值为NULL
。它之后设置的值是我服务器上的当前时间(如果我在终端/ CLI上调用date
,则会得到同一时间)。预期的行为是updated_at
只是设置为NULL
,除非我明确设置$model->updated_at
。
我正在使用Apache 2.4.7(Ubuntu),PHP 5.5.9,MySQL 5.5.35和Laravel 4.1.30。
答案 0 :(得分:0)
事实证明,在调用save()
方法之后,我在更新时间戳的同一模型上调用了touch()
方法。我删除了touch()
语句。为了让自己完全控制created_at
和updated_at
列,我还通过将以下代码添加到模型类来禁用日期突变:
public function getDates()
{
return array();
}