Попытка загрузить модель и связанную с ней модель, но связанная с ней модель возвращает нуль, даже если она имеет связанные данные.
Групповая модель является полиморфной 1: 1 либо Game, либо Gamer.
Групповая модель отношений:
public function groupable() { return $this->morphTo(); }
Отношение к игровой модели:
public function group() { return $this->morphOne('Group', 'groupable'); }
Gamer Модель отношений:
public function group() { return $this->morphOne('Group', 'groupable'); }
Запрос для загрузки группы тогда Игра:
$group = Group::whereSubdomain($id)->first(); $game = $group->game;
Группа возвращает группу, но игра возвращает значение null.
Вот пример записи базы данных для таблицы Groups:
id subdomain groupable_id groupable_type 5 Starmade 10 Game
Вот пример записи базы данных для таблицы Games:
id genre rating 10 7 4.5
Не знаю, где я ошибаюсь, чтобы вернуть игру.
Попробуй это. Это может помочь.
public function groupable() { return $this->morphTo('groupable'); }
У меня была эта проблема слишком раньше, может быть, у вас такая же проблема, как и я. По сути, я сделал, чтобы помочь Laravel найти, какие столбцы ему нужно искать.