当我们在Laravel中创建新的模型或数据库迁移时,可以使用$table->timestamps();
,它默认创建created_at
和updated_at
。为什么从最佳项目结构的角度来看,项目需要这些字段?
答案 0 :(得分:1)
知道何时创建或更新对象总是有用的。即使我个人更喜欢为不同的目的创建不同的时间戳,例如,如果我有一个异步处理的实体,我通常会添加一个名为completed_at
的datetime列,以便我知道工作何时完成。
如果您不喜欢默认时间戳,可以通过指定public $ timestamps = false来删除它们。在您的口才模型中。
答案 1 :(得分:1)
每Model/Records
次插入表中,最好跟踪其created_at
时间和updated_at
时间。 Timestamp
用例可能因个人而异。
大多数开发人员都使用timepstamp来跟踪其数据库记录。
这就是为什么Laravel Eloquent默认提供created_at
和updated_at
选项的原因。每当创建模型/记录时,created_at
列值都会自动设置,并且只要记录更新时,updated_at
列值就会自动设置为该时间,因此开发人员需要编写最少的代码来管理时间戳。
Laravel时间戳是可选的,请在模型中使用public $timestamps = false;
来禁用时间戳。
答案 2 :(得分:0)
create_at
和updated_at
在系统中有多个角色时非常有用。在我的项目中,我有多个角色,因此我在laravel的updated_by
和created_by
中添加了created_at
和updated_at
之类的列,可以找到创建或更新日期和时间,以及通过我的列created_at
和updated_at
,我可以找到which user created record
和which user updated
的记录。
在更新时,laravel时间戳为automatically update
记录列,因此您不必担心为编写表中的update_at
列而编写代码。
因此对于tracing
而言,timestamp
在您的项目中非常有用。
如果您不需要每张表,那么只需在模型中使用下面的行就可以避免它。
public $timestamps = false;