使用枢轴表的laravel 5.1过滤器

时间:2015-11-11 07:58:35

标签: many-to-many pivot-table laravel-5.1

您好我正在开发作业门户但面临数据透视表过滤问题。我有一张如下表

personal_details

id
name
sex
dob
nationality
visa_status

空缺

id
name
description
created_at
updated_at

与数据透视表有多对多关系。 当求职者申请空缺时,会插入此处的数据

personal_detail_vacancy

id
personal_detail_id
vacancy_id
created_at
updated_at

PersonalDetail模型

class PersonalDetail extends Model
{

    public function vacancies()
    {

        return $this->belongsToMany('App\Vacancy')->withTimestamps();

 }
}

空缺模式

class Vacancy extends Model
{
    public function personal_details()
    {

        return $this->belongsToMany('App\PersonalDetail');

}

我想要做的是选择在特定日期申请工作(在任何空缺职位)的所有个人详细信息
我试过

$personal_details = PersonalDetail::with(array('vacancies' => function($query){

       $query->wherePivot('created_at', '2015-11-10 11:33:24'); 

       }))->get();

但它没有过滤日期 任何想法?

1 个答案:

答案 0 :(得分:1)

通过使用

很好地解决了这个问题
$personal_details = PersonalDetail::whereHas('vacancies',function($query)
      {
             $query->where('created_at','2015-11-10 11:33:24'); 
      })->get();
以前没用过。问题是我在职位空缺表中也有'created_at'字段。