【发布时间】:2014-05-02 02:29:54
【问题描述】:
好的,有人可以帮我解决这个场景吗?我想使用 Eloquent 中的关系创建一个部门循环和该部门中所有团队的内部循环。一直在谷歌搜索和实验,但无法得到正确的结果。
我的桌子是这样的:
部门
division_id INT PK
division_name VARCHAR
...
团队
team_id INT PK
team_name VARCHAR
...
division_team(数据透视表)
id INT PK
division_id INT FK
team_id INT FK
我的模型是这样的: DivisionTeamPivot
class DivisionTeamPivot extends \Eloquent {
protected $fillable = [];
protected $table = 'division_team';
public function team(){
return $this->belongsTo('Team');
}
public function division(){
return $this->belongsTo('Division');
}
部门
class Division extends \Eloquent {
protected $primaryKey = 'division_id';
public function teams(){
return $this->hasMany('Team','division_team','division_id','team_id');
}
}
团队
class Team extends \Eloquent {
protected $primaryKey = 'team_id';
public function division(){
return $this->belongsTo('Division','division_team','team_id','division_id');
}
}
我的控制器有:
$divisions = DivisionTeamPivot::with('Team','Division')->get();
我的观点:
<section class="panel">
<header class="panel-heading">
<h5>{{$division->division->division_name}} Division {{$i}}</h5>
</header>
<table class="table">
<thead>
<tr>
<th></th>
<th>Team Name</th>
<th class="center">Total Points</th>
<th class="center">Rank</th>
</tr>
</thead>
<tbody>
@foreach($division->team as $team)
<tr>
<td width="75"><img src="/img/logos/{{team->team_logo}}" width="50"></td>
<td><a href="/teams/details"> {{team->team_name}}</a></td>
<td class="center">1,345</td>
<td class="center">1</td>
</tr>
@foreach
</tbody>
</table>
</section>
我想要做的是遍历各个部门,然后对这些部门中的团队进行子循环。我在这里看到有人制作了一个数据透视表模型,但是当我使用它时,它会根据数据透视表中的 division_id 表遍历所有相同的分区,但我得到了这个名字。它为每个重复部门创建一个团队。我需要根据他们所在的部门对他们进行分组。实际上,我仍然无法显示团队名称。我也真的希望急切加载能够正常工作,以便获得最有效的查询。谢谢!!
【问题讨论】: