【发布时间】:2014-06-12 14:40:54
【问题描述】:
好的,我正在 Laravel 中构建一个相当大的应用程序。用户管理自己的虚拟足球队。我有一个用户表,然后我有一个包含团队特定内容的团队表,例如名称、级别和竞技场等。对于竞技场,虽然我决定添加一个竞技场表,然后在团队表中添加一个 arena_id 列,而不是仅仅添加团队表的竞技场名称。
所以这是基本的关系:
用户拥有一个团队
团队有一个用户
团队拥有一个竞技场
竞技场有一个团队
所以如果我想为用户获取竞技场,我调用该方法
$user = User::with('team')->where('username', '=', $username)->first();
$user->team->arena->arena_name;
一切正常;但是我觉得有一种更清洁或更简单的方法可以做到这一点。该应用程序是否存在或是否可以?
【问题讨论】:
-
仅供参考:您也可以使用
User::with('team', 'team.arena')来急切加载子关系。
标签: php mysql laravel eloquent