好吧,我正在Laravel构建一个非常大的应用程序。用户管理他们自己的虚拟足球队。我有一个用户表,然后我有一个团队表,其中包含名称,级别和竞技场等团队特有的东西。对于竞技场,尽管我决定添加一个arenas表,然后在team表中添加arena_id列,而不是仅添加球队名单上的球队名称。多对一的关系laravel
所以这里是基本relantionship:
用户hasOne队
队hasOne用户
队hasOne竞技场
竞技场hasOne队
,所以如果我想获得的对于用户而言,我称之为方法
$user = User::with('team')->where('username', '=', $username)->first();
$user->team->arena->arena_name;
和一切工作正常;不过,我觉得有一个更干净或更简单的方法来做到这一点。对于这个应用程序有没有这个问题?
仅供参考:您可以通过'User :: with('team','team.arena')'来加载子关系。 – ceejayoz