2015-09-09 2 views
0

Я реализовал laravel eloquent для извлечения данных из базы данных (я использую mysql). Я выполнил миграцию, чтобы создать таблицу «r_prereportagen» с файлом миграции «2015_09_04_200539_create_pre_reportagens_table.php». Файл с именем pre_reportagen.php появился в каталоге/app, я использовал класс pre_reportagen, определенный в pre_reportagen.php, и мое приложение заканчивается ошибкой: SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица 'appumrohsurabaya.pre_reportagens' не существует (SQL: select * from pre_reportagens). Я изучил мою базу данных, и я был уверен, что мой стол «r_prereportagen» был там. Кто-нибудь находит ошибки?Laravel Eloquent возвращает QueryException, базовая таблица или представление не найдено

+0

Разместите код здесь –

+0

Вы сказали, что есть 'r_prereportagen' стол, но это явно говорит, что он не может найти 'pre_reportagens'? – Gal

+0

Возможно, это проблема с именованием. В вашей модели вы должны явно указать _защищенную $ table «table-name», _ property :) –

ответ

2

вы уверены, что r_prereportagen существует в базе данных, но eloqunt ищет таблицу 'pre_reportagens. до сих пор, если вы хотите, чтобы ваше имя таблицы r_prereportagen просто перезаписать имя таблицы на ваших pre_reportagen.php файлов, перед fillables собственности

protected $table = 'r_prereportagen';

+0

Большое вам спасибо. ! –

0

Eloquent ожидает таблицу, которая является множественным именем модели. В вашей ошибке он уже заявляет, что ищет таблицу с именем appumrohsurabaya.pre_reportagens, пока вы создали единственную версию (appumrohsurabaya.pre_reportagen, без s).

Таким образом, в модели, установите следующий код:

protected $table = "r_prereportagen" 
+0

Огромное вам спасибо! –

+0

В качестве окончательного ответа отметьте один из полезных ответов, чтобы в будущем другие пользователи могли легко найти правильный ответ. –

Смежные вопросы