我目前正在学习Laravel和Eloquent,并且已经设置了一些最初的迁移来玩。我的一个表只需要创建时间,因为一旦插入某一行的存在,它永远不会被更新:Laravel的雄辩可以更新创建时间,但不是更新时间吗?
// The run table only needs a creation timestamp, not an updated timestamp
Schema::create('runs', function (Blueprint $table) {
$table->increments('id');
$table->timestamp('created_at');
});
我明白,能言善辩的默认预计既是created_at
和updated_at
列存在,并且该功能可以完全关闭。从手册:
默认情况下,Eloquent预期created_at和updated_at列存在于您的表上。如果您不希望通过Eloquent自动管理这些列,请将模型上的
$timestamps
属性设置为false。
但是,是否可以要求雄辩自动设置创建时间而不是更新时间?我意识到我可以手动执行此操作,但如果Eloquent可以“免费”执行此操作,那将会很好。
[一个简单的解决方案](http://stackoverflow.com/q/18067614),我现在正在使用的是在数据库级别设置默认列值,并关闭Eloquent中的时间戳记功能。 – halfer