Laravel Eloquent returns QueryException、Base table 或未找到视图

Laravel Eloquent returns QueryException, Base table or view not found

我实现了 laravel eloquent 从数据库中检索数据(我使用 mysql)。我执行了迁移以使用迁移文件“2015_09_04_200539_create_pre_reportagens_table.php”创建 table 'r_prereportagen'。 /app 目录中出现了一个名为 pre_reportagen.php 的文件,我使用了 pre_reportagen.php 中定义的 class pre_reportagen 并且我的应用程序以错误结束: SQLSTATE[ 42S02]:未找到基础 table 或视图:1146 Table 'appumrohsurabaya.pre_reportagens' 不存在(SQL:select * 来自 pre_reportagens)。我检查了我的数据库,我确信我的 table 'r_prereportagen' 在那里。有人找到错误了吗?

Eloquent 期望 table 是模型名称的复数形式。在您的错误中,它已经声明它正在寻找名为 appumrohsurabaya.pre_reportagens 的 table,而您创建了单数版本(appumrohsurabaya.pre_reportagen,没有 s)。

因此在您的模型中,设置以下代码:

protected $table = "r_prereportagen"

您确定 r_prereportagen 存在于您的数据库中,但看起来很雄辩 'pre_reportagens' table。如果您希望 table 名称为 r_prereportagen 只需覆盖 pre_reportagen.php 文件中的 table 名称,就在 fillables 属性

之前

protected $table = 'r_prereportagen';