Trying to eager load a model and it's related model but the related model returns null even though it has related data.
Group Model is polymorphic 1:1 to either Game or Gamer.
Group Model Relationship:
public function groupable()
{
return $this->morphTo();
}
Game Model Relationship:
public function group()
{
return $this->morphOne('Group', 'groupable');
}
Gamer Model Relationship:
public function group()
{
return $this->morphOne('Group', 'groupable');
}
Query to Load Group then Game:
$group = Group::whereSubdomain($id)->first();
$game = $group->game;
Group returns the group but game returns null.
Here is a sample database entry for Groups table:
id subdomain groupable_id groupable_type
5 Starmade 10 Game
Here is a sample database entry for Games table:
id genre rating
10 7 4.5
Not sure where I am going wrong to have no game returned.
Try this. It might help.
public function groupable()
{
return $this->morphTo('groupable');
}
I had that problem too earlier, maybe you have the same prob like me. Essentially what I did was to help Laravel finds what columns it needs to look up for.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.