Laravel 4 - Foreach查询标题内部视图

时间:2014-01-22 19:13:16

标签: php laravel laravel-4

我正在尝试生成一个页面,该页面将输出节标题(从一个表中检索,即一个俱乐部名称),这些标题下面有更多数据(即俱乐部成员)。

这样的事情:

  • 标题
    • 会员1
    • 会员2
    • 会员3
  • 标题
    • 会员
    • 会员

我知道这将需要2个foreach控件,但我不知道如何让Laravel从另一个查询中获取一个带有参数的查询(例如,查询1提供了clubID,成员的Query2将接受来自查询1的clubID

在维护MVC的同时我该怎么做?

1 个答案:

答案 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