如何在laravel中检索多对多关系中父表的记录

时间:2016-06-26 15:13:47

标签: laravel laravel-5 laravel-5.2

我有User模型和Job模型。他们之间有很多关系。数据透视表名称为job_user。现在我在数据透视表中有三个外键列;两个来自用户表,一个来自作业表。现在我的问题是我如何查询所以我将能够根据Laravel 5.2中的数据透视表的外键列显示表用户和表作业的所有记录

1 个答案:

答案 0 :(得分:0)

特定用户的所有工作

$user = User::find(1);
$jobs = $user->jobs;

特定职位的所有用户

$job = Job::find(1);
$users = $job->users;

显示列

$user = User::find(1);
$jobs = $user->jobs;

for ($jobs as $job) {
  echo $job->id;
}

检索中间表列

$user = User::find(1);

foreach ($user->jobs as $job) {
    echo $job->pivot->created_at;
}

查看Laravel docs了解详情。

通过数据查看

你的控制器:

$users = User::all();
return View::make('yourView', ['users' => $users]);

您的观点:

 @foreach ($users as $user)   
   @foreach ($user->jobs as $job)   
     {{ $job->id }}
   @endforeach                
 @endforeach