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位于(..)
)