当前位置: 首页 > 面试题库 >

更改Laravel的created_at和Updated_at的名称

徐栋
2023-03-14
问题内容

我可以从以下位置映射Laravel的时间戳:

created_atpost_datepost_date_gmt

updated_atpost_modifiedpost_modified_gmt

我正在将Wordpress应用程序迁移到Laravel。

我正在使用Laravel访问Wordpress数据库的副本。数据库的实时版本仍在使用中,因此我不想更改架构。

该帖子表有post_datepost_date_gmtpost_modifiedpost_modified_gmt,但Laravel期待created_atupdated_at

无论如何,有没有要更改Laravel查找的列名?

我希望Laravel更新所有已经存在的列的时间戳。


问题答案:

不幸的是,接受的答案可能会导致时间戳更新问题。

您最好在模型上覆盖const:

const CREATED_AT = 'post_date';
const UPDATED_AT = 'post_modified';

然后方法getCreatedAtColumngetUpdatedAtColumn将分别返回post_datepost_modified,但不会造成任何伤害。

对于其他列,您需要使用类似@Oni建议的事件。



 类似资料:
  • 问题内容: 有没有一种方法可以将created_at和updated_at字段添加到猫鼬模式中,而不必每次调用新的MyModel()时都将其传递? created_at字段将是日期,并且仅在创建文档时添加。每当在文档上调用save()时,updated_at字段都将被更新为新日期。 我已经在模式中尝试过此操作,但是除非我明确添加,否则该字段不会显示: 问题答案: 从Mongoose 4.0开始,您

  • 我的表中有“created_at”列,现在我想添加“updated_at”,默认值与“created_at”相同。我正在使用laravel迁移。

  • 问题内容: 我刚开始使用Laravel,却遇到以下错误: 未知列’updated_at’插入gebruikers(naam,wachtwoord,updated_at,created_at) 我知道错误是由您在迁移表时的时间戳列引起的,但我没有使用该字段。我遵循Laravel教程时曾经使用它,但是现在我正在制作(或尝试制作)自己的东西。即使不使用时间戳,我也会收到此错误。我似乎找不到使用它的地方。

  • 问题内容: 我正在使用Eloquent进行数据库处理,当我使用更新方法更新记录时,时间戳被更改了,如何防止这种情况发生? 时间戳工作正常 问题答案: 如果您的模型中没有任何自定义设置。您可以像这样更新记录: 仅应使用此代码更新时间戳(而不是)。如果还进行了更新,则意味着您可能具有一些自定义模型设置,或者: 您可能具有数据库触发器,这些触发器在记录更新时会发生变化 您可能已经注册了一些事件,这些事件

  • 我想从laravel 5.8中的数据库字段(created_at和updated_at)获取UNIX时间戳,或者将created_at或updated_at date转换为UNIX时间戳格式,我该怎么做? 这是我在控制器中的代码: 在view/archives.blade.php中: 结果是: 但我希望结果是这样的: 怎样才能得到这个结果呢?

  • 我已经将所有登录、创建用户和忘记密码合并到同一个页面上,对于错误处理,3个表单上的“电子邮件”输入应该有所不同。我已将登录表单的电子邮件输入中的名称默认设置为:“电子邮件”。我将创建用户的名称设置为:“注册电子邮件”,并更改了RegisterController中的“validator”功能,使其看起来像这样: 它就像一个符咒! 现在我将电子邮件输入名称设置为忘记表单上的“忘记电子邮件”,但我不知