php - 如何更改 Laravel 模型表名称

标签 php laravel eloquent

我正在使用 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/

相关文章:

php - 如何按日期对从 sql 数据库导出到 Excel 的多个表进行排序?

php - 是否可以使用我的数据库结构使用 Laravel 或 Sql 执行此查询?

sql - 如何选择最新的数据?

laravel - Laravel Eloquent Model 观察者事件应该返回对象吗?

php - 如何在Mysql中获取一个select命令?

php - 评估()不工作?

php - 如何匹配mysql查询中的正则表达式?

php - 开箱即用的 Laravel 4 语法错误

laravel - 如何将 json 转换为 Laravel Eloquent 模型?

laravel - 分页和Where子句