Почему Laravel / Eloquent не может найти определенную таблицу?

Vili Manninen спросил: 11 марта 2019 в 07:44 в: laravel

Я пытаюсь получить некоторые данные из таблицы с именем"category", но laravel выдает ошибку

"SQLSTATE [42S02]: базовая таблица или представление не найдено".

Я пробовал с другими именами таблиц, такими как "company", и это прекрасно работает. Обе эти таблицы существуют, но одна из них не может быть найдена с одним и тем же кодом.

Это приводит к ошибке:

public static function getCategories()
    {
        $categories = [];        $cat = DB::table('category')->get();
        if (isset($cat)){
            foreach ($cat as $category_name){
                array_push($categories, $category_name);
            }
            return json_encode($categories);
        }
        return null;
    }

Это работает как ожидалось (то же самое) код, за исключением строки с именем таблицы):

public static function getCategories()
    {
        $categories = [];        $cat = DB::table('company')->get(); //table name changed
        if (isset($cat)){
            foreach ($cat as $category_name){
                array_push($categories, $category_name);
            }
            return json_encode($categories);
        }
        return null;
    }

Единственная разница между этими двумя таблицами заключается в сопоставлении таблиц:
компания: utf8_general_ci
категория: utf8mb4_swedish_ci

0 ответов