Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel模型查找旧表名_Php_Mysql_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel模型查找旧表名

Php Laravel模型查找旧表名,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,我正在使用laravel 5,并已将表名从“与域相关的设置”更改为“与域相关的设置” 为此,我回滚了所有迁移,更改了特定的迁移并再次运行它们。在phpmyadmin中,我看到了我的新表名 当我将相应的模型(DomainRelatedSetting.php)用作类“DomainRelatedSetting”时 它给出了以下错误: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'databasename.domain_relate

我正在使用laravel 5,并已将表名从“与域相关的设置”更改为“与域相关的设置”

为此,我回滚了所有迁移,更改了特定的迁移并再次运行它们。在phpmyadmin中,我看到了我的新表名

当我将相应的模型(DomainRelatedSetting.php)用作类“DomainRelatedSetting”时

它给出了以下错误:

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)
它似乎要查看与域\u相关的\u设置。这是我的旧表名,我改为DomainRelatedSetting

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

protected $table = 'DomainRelatedSettings';
我在中间件中使用了以下导致错误的功能: $domainSettings=App\DomainRelatedSetting::where('hostname','localhost')->first()

我在我的项目中搜索了字符串(使用phpstorm),结果为0(除了laravel日志)


除了迁移和模型之外,还有其他位置需要更新吗?

您需要使用

protected $table = 'name_of_table';
那么你的情况呢

protected $table = 'DomainRelatedSettings';

如果您不想使用默认的
名称(“snake case”,类的复数名称),则应将其指定给
模型

protected $table = 'DomainRelatedSettings';

查看部分的文档。

如果您在模型中指定了表的真实名称,但仍然存在相同的问题,请尝试:

composer dump-autoload

可以通过在模型上定义表特性来指定自定义表:

class theModel extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'name_of_table';
}
如果不起作用,请尝试在根文件夹中键入以下命令:
composer dump autoload-o

在模型类
protected$table='DomainRelatedSettings'上定义表属性之后它仍然给出错误?不,当我添加这一行时,错误消失了。检查
表名
部分:我认为我应该在模型中使用单数形式,在表中使用复数形式。但似乎当我的模型名为“SomeExample”时。它不仅寻找复数版本,还寻找“一些例子”。谢谢有时我不明白他们为什么不在(已经非常好的)文档中添加一个更全面的示例。很好,谢谢
class theModel extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'name_of_table';
}