Laravel ansioso carregando relações polimórficas
Tentando carregar com rapidez um modelo e seu modelo relacionado, mas o modelo relacionado retorna nulo, mesmo que tenha dados relacionados.
O Modelo de Grupo é 1: 1 polimórfico para Jogo ou Jogador.
Relação do modelo de grupo:
public function groupable()
{
return $this->morphTo();
}
Relação do modelo de jogo:
public function group()
{
return $this->morphOne('Group', 'groupable');
}
Relacionamento com o modelo de jogador:
public function group()
{
return $this->morphOne('Group', 'groupable');
}
Consulta para carregar o grupo e depois o jogo:
$group = Group::whereSubdomain($id)->first();
$game = $group->game;
Grupo retorna o grupo, mas o jogo retorna nulo.
Aqui está uma entrada de banco de dados de amostra para a tabela Grupos:
id subdomain groupable_id groupable_type
5 Starmade 10 Game
Aqui está uma entrada de banco de dados de amostra para a tabela Jogos:
id genre rating
10 7 4.5
Não tenho certeza de onde estou errado para não ter nenhum jogo retornado.