您好我正在开发作业门户但面临数据透视表过滤问题。我有一张如下表
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();
但它没有过滤日期 任何想法?
答案 0 :(得分:1)
通过使用
很好地解决了这个问题$personal_details = PersonalDetail::whereHas('vacancies',function($query)
{
$query->where('created_at','2015-11-10 11:33:24');
})->get();
以前没用过。问题是我在职位空缺表中也有'created_at'字段。