更改 Laravel 的 created_at 和 updated_at 的名称
我可以从以下位置映射 Laravel 的时间戳吗:
Can I map Laravel's timestamps from:
created_at
到 post_date
和 post_date_gmt
?
updated_at
到 post_modified
和 post_modified_gmt
?
我正在将一个 Wordpress 应用程序迁移到 Laravel.
I'm migrating a Wordpress application to Laravel.
我正在使用 Laravel 访问 Wordpress 数据库的副本.数据库的实时版本仍在使用中,所以我不想更改架构.
I'm accessing a copy of the Wordpress database using Laravel. The live version of the database is still in use so I don't want to change the schema.
Posts 表有 post_date
、post_date_gmt
、post_modified
和 post_modified_gmt
,但 Laravel 需要 created_at
和 updated_at
.
The Posts table has post_date
, post_date_gmt
, post_modified
and post_modified_gmt
, but Laravel is expecting created_at
and updated_at
.
是否可以更改 Laravel 查找的列名?
Is there anyway to change the column names that Laravel looks for?
我希望 Laravel 更新所有已经存在的列的时间戳.
I'd like Laravel to update the timestamps of all the columns that are already there.
推荐答案
不幸的是,接受的答案可能会导致更新时间戳出现问题.
The accepted answer may cause problems with updating timestamps unfortunately.
您最好覆盖模型上的 const:
You'd better override consts on your model:
const CREATED_AT = 'post_date';
const UPDATED_AT = 'post_modified';
then 方法 getCreatedAtColumn
和 getUpdatedAtColumn
将分别返回 post_date
和 post_modified
,但不会造成任何伤害.
then methods getCreatedAtColumn
and getUpdatedAtColumn
will return post_date
and post_modified
respectively, but won't do any harm.
对于其他列,您需要使用 @Oni 建议的事件.
For the other columns you need use events like @Oni suggested.
相关文章