Laravel 5. Запрос с отношениями вызывает ошибку «Вызов функции-члена addEagerConstraints() при нулевом значении». ⇐ Php
Laravel 5. Запрос с отношениями вызывает ошибку «Вызов функции-члена addEagerConstraints() при нулевом значении».
Я пытался создать простую систему управления пользователями, но постоянно сталкивался с препятствиями, когда дело доходит до запроса связей. Например, у меня есть пользователи и роли, и всякий раз, когда я пытаюсь выполнить запрос обо всех пользователях и их ролях, я получаю сообщение об ошибке. Тот, что в заголовке, — самый последний из тех, с которыми я столкнулся.
Мои пользовательские и ролевые модели выглядят следующим образом:
класс Роль расширяет модель { пользователи публичной функции() { $this->belongsToMany('\App\User', 'fk_role_user', 'role_id', 'user_id'); } } класс Пользователь расширяет модель { роли публичной функции() { $this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id'); } } Моя таблица миграции для отношений «многие ко многим» между ними выглядит следующим образом:
публичная функция up() { Schema::create('role_user', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id')->unsigned()->nullable(); //fk => пользователи $table->integer('role_id')->unsigned()->nullable(); //fk => роли $table->foreign('fk_user_role')->references('id')->on('users')->onDelete('cascade'); $table->foreign('fk_role_user')->references('id')->on('roles')->onDelete('cascade'); }); } А затем я пытаюсь получить все записи с их отношением к контроллеру:
публичная функция index() { $users = User::with('roles')->get(); вернуть $пользователей; } Значит, мне нужна еще одна пара глаз, чтобы понять, чего мне здесь не хватает?
Я пытался создать простую систему управления пользователями, но постоянно сталкивался с препятствиями, когда дело доходит до запроса связей. Например, у меня есть пользователи и роли, и всякий раз, когда я пытаюсь выполнить запрос обо всех пользователях и их ролях, я получаю сообщение об ошибке. Тот, что в заголовке, — самый последний из тех, с которыми я столкнулся.
Мои пользовательские и ролевые модели выглядят следующим образом:
класс Роль расширяет модель { пользователи публичной функции() { $this->belongsToMany('\App\User', 'fk_role_user', 'role_id', 'user_id'); } } класс Пользователь расширяет модель { роли публичной функции() { $this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id'); } } Моя таблица миграции для отношений «многие ко многим» между ними выглядит следующим образом:
публичная функция up() { Schema::create('role_user', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id')->unsigned()->nullable(); //fk => пользователи $table->integer('role_id')->unsigned()->nullable(); //fk => роли $table->foreign('fk_user_role')->references('id')->on('users')->onDelete('cascade'); $table->foreign('fk_role_user')->references('id')->on('roles')->onDelete('cascade'); }); } А затем я пытаюсь получить все записи с их отношением к контроллеру:
публичная функция index() { $users = User::with('roles')->get(); вернуть $пользователей; } Значит, мне нужна еще одна пара глаз, чтобы понять, чего мне здесь не хватает?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Модульный тест Laravel 11 – вызов функции-члена Connection() при нулевом значении
Anonymous » » в форуме Php - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Модульный тест Laravel 11 – вызов функции-члена Connection() при нулевом значении
Anonymous » » в форуме Php - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-