Php 拉威尔雄辩的加入

Php 拉威尔雄辩的加入,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有两张桌子,我想加入他们。我看了其他的例子,就是想不出来 我的桌子如下 俱乐部 身份证 名字 成员 身份证 俱乐部id 名字 一个俱乐部有许多会员一个会员属于一个俱乐部 我可以列出我的俱乐部,在列出我的俱乐部之后,我可以列出俱乐部的成员,好的,但我想做的是列出我的所有成员,并展示他们的俱乐部。所以我的输出是ID,Name,Club Name 这是到目前为止我的代码设置 // clubs controller public function index() { $clubs

我有两张桌子,我想加入他们。我看了其他的例子,就是想不出来

我的桌子如下

  • 俱乐部
    • 身份证
    • 名字
  • 成员
    • 身份证
    • 俱乐部id
    • 名字
一个俱乐部有许多会员
一个会员属于一个俱乐部

我可以列出我的俱乐部,在列出我的俱乐部之后,我可以列出俱乐部的成员,好的,但我想做的是列出我的所有成员,并展示他们的俱乐部。所以我的输出是ID,Name,Club Name

这是到目前为止我的代码设置

// clubs controller
public function index()
{
    $clubs = Club::all();
    return View::make('clubs.list')->with('clubs', $clubs);
}

public function show($id)
{
    $club = Club::findOrFail($id);
    $members = $club->Members()->get();
    return View:: make('clubs.show')->with('club', $club)->('members', $members);
}

// club model
class Club extends Eloquent
{
    // each club has many members
    public function Members()
    {
        return $this->hasMany('Member');
    }
}


// members controller
public function index()
{
    $members = Member::all();
    return View::make('members.list')->with('members', $members);
}

// member model
class Member extends Eloquent
{
    // each member belongs to one club
    public function club()
    {
        return $this->belongsTo('Club');
    }
}

成员
模型中声明以下关系方法:

public function club()
{
    return $this->belongsTo('Club');
}
因此,现在您可以查询所有会员的
俱乐部
信息,如下所示:

$members = Member::with('club')->get();
视图中
循环
成员时
可以尝试以下操作:

@foreach($members as $member)
    {{ $member->name }}
    {{ $member->club->name }}
@endforeach
$members = Member::join('clubs', 'members.club_id', '=', 'clubs.id')
                 ->select('members.*', 'clubs.name as club_name')
                 ->get();
这不是
雄辩的加入
,但使用它的关系技巧,您可以按照上面给出的方法进行,如果您想加入,您可以尝试以下方法:

@foreach($members as $member)
    {{ $member->name }}
    {{ $member->club->name }}
@endforeach
$members = Member::join('clubs', 'members.club_id', '=', 'clubs.id')
                 ->select('members.*', 'clubs.name as club_name')
                 ->get();
在这种情况下,您可以像这样循环使用
俱乐部
信息

@foreach($members as $member)
    {{ $member->name }}
    {{ $member->club_name }}
@endforeach

关于
foreach(Member::all()as$Member){echo$Member->name。'属于俱乐部。'$Member->club->name;}
?我在控制器方法和刀片页面上都试过了。两种方法都有效,但其中一种方法会提出更多的问题吗?对,你是在为俱乐部提出关于每一件物品的问题。你真正想要的是
Member::with('club')->get()
将仅执行2个查询(
select*from members
select*from clubs,其中id位于(..)