1、设置默认字段
数据入库时一般都需要创建时间和修改时间,创建一个 BaseModel,BaseModel 继承 Eloquent/Model
自定义 create_at、update_at 字段,其他 Model 继承 BaseModel
use Illuminate\Database\Eloquent\Model;
class BaseModel extends Model
{
const CREATED_AT = 'create_time';
const UPDATED_AT = 'modify_time';
}
2、不需要记录修改时间怎么设置
最近做日志业务,只需要 created_at 字段就可以了,数据库不想添加 updated_at 字段。下面是解决方法:
解决方法
查看 Illuminate\Database\Eloquent\Model 后发现,有这样一行代码 use Concerns\HasTimestamps ,接下找到 trait HasTimestamps 看到 如下代码:
protected function updateTimestamps()
{
$time = $this->freshTimestamp();
if (! is_null(static::UPDATED_AT) && ! $this->isDirty(static::UPDATED_AT)) {
$this->setUpdatedAt($time);
}
if (! $this->exists && ! $this->isDirty(static::CREATED_AT)) {
$this->setCreatedAt($time);
}
}
/**
* Set the value of the "updated at" attribute.
*
* @param mixed $value
* @return $this
*/
public function setUpdatedAt($value)
{
$this->{static::UPDATED_AT} = $value;
return $this;
}
在对应的 Model 中设置 const UPDATED_AT = null 就可以了
成功的秘诀,在永不改变既定的目的~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现