当前位置:  开发笔记 > 编程语言 > 正文

Laravel模型看起来旧表名

如何解决《Laravel模型看起来旧表名》经验,为你挑选了1个好方法。

我正在使用laravel 5并将表的名称从"domain_related_settings"更改为"DomainRelatedSettings".

我通过回滚所有迁移,更改特定迁移并再次运行它来完成此操作.在phpmyadmin中,我看到了我的新表名.

当我使用相应的模型(DomainRelatedSetting.php)作为类"DomainRelatedSetting"

$domainSettings = App\DomainRelatedSetting::where('hostname', 'localhost')->first();

它给出以下错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'databasename.domain_related_settings' doesn't exist (SQL: select * from `domain_related_settings` where `hostname` = localhost limit 1)

它似乎寻找domain_related_settings.这是我的旧表名,我改为DomainRelatedSetting.

当我在类中定义新表时,它可以工作.

protected $table = 'DomainRelatedSettings';

我在中间件中使用以下函数导致错误:$ domainSettings = App\DomainRelatedSetting :: where('hostname','localhost') - > first();

我在我的项目中搜索了一个字符串(使用phpstorm),它给出了0个结果(除了laravel日志).

是否有一个位置,除了迁移和模型,我应该更新这个?



1> Pantelis Pes..:

如果您不想使用默认table名称("蛇案例",类的复数名称),则应将其指定为model:

protected $table = 'DomainRelatedSettings';

请查看该Table Names部分的文档.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有