我正在使用 Laravel 5,并通过回滚所有迁移、更改特定迁移并再次运行它们,将数据库表的名称从“domain_related_settings”更改为“DomainRelatedSettings”。新的表名反射(reflect)在数据库中。
但是当我在这样的语句中使用相应的模型DomainRelatedSetting
时:
$domainSettings = DomainRelatedSetting::where('hostname', 'foo')->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` = foo limit 1)
所以还是用旧的表名。如何确保使用新表名?
最佳答案
如果您不想使用默认的表
名称(“snake case”,类的复数名称),您应该将它指定给 模型
:
protected $table = 'DomainRelatedSettings';
查看 Table Names
处的文档部分。
关于php - 如何更改 Laravel 模型表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34462190/