我正在尝试生成一个页面,该页面将输出节标题(从一个表中检索,即一个俱乐部名称),这些标题下面有更多数据(即俱乐部成员)。
这样的事情:
我知道这将需要2个foreach控件,但我不知道如何让Laravel从另一个查询中获取一个带有参数的查询(例如,查询1提供了clubID,成员的Query2将接受来自查询1的clubID
在维护MVC的同时我该怎么做?
答案 0 :(得分:1)
这看起来与数据库和模型关系有关。例如,如果您有一个表club_names
和另一个表club_members
,那么您可以创建一个Club
模型,如
class Club extends Eloquent {
protected $table = 'club_names';
public function members()
{
return $this->hasMany('Member', 'club_name_id');
}
}
为此,您的数据库表需要如下
表club_names
id | club_name | other_fields
表club_members
id | club_name_id | member_name | other_fields
在这里,id
表的club_names
应该是club_members
表的外键,如果符合这些标准,那么您可以按如下方式访问俱乐部成员
$clubs = Club::with('members')->get();
return View::make('your_view')->with('clubs', $clubs);
在您的视图中,您可以使用
@foreach($clubs as $club)
<div class='club'>
{{ $club->club_name }}
@foreach($club->members as $member)
<div>
<p>{{ $member->member_name }}</p>
<p>{{ $member->other_fields }}</p>
</div>
@endforeach
</div>
@endforeach
详细了解Laravel
网站上的relationships。