Laravel & Lumen Eloquent 模型去掉 created_at 和 updated_at 其中一个
起因#
最近在用 Lumen 做 API 接口开发,开发接口要记录日志,日志存放在数据库。因为是日志数据,只需要 created_at
字段就可以了,如果设置 $timestamps = false
, 两个都用不了,created_at 就需要自己手动设置了,如果不设置,数据库需要添加 updated_at
字段。下面是解决方法:
解决方法#
查看 Illuminate\Database\Eloquent\Model
后发现,有这样一行代码 use Concerns\HasTimestamps
,接下找到 trait HasTimestamps
看到 如下代码:
public function setUpdatedAt($value)
{
$this->{static::UPDATED_AT} = $value;
return $this;
}
聪明的你应该已经知道怎么解决了吧。没错,就是在 Model 中设置 const UPDATED_AT = null
就可以了。
总结#
遇到问题,先看文档,再尝试一下自己解决,最后去百度。
推荐文章: