【问题标题】:laravel 5.1 filter using pivot tablelaravel 5.1 过滤器使用数据透视表
【发布时间】:2016-02-12 07:04:00
【问题描述】:

您好,我正在开发工作门户,但在数据透视表过滤方面遇到问题。我有一张像下面这样的表格

个人详情

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();

但它没有过滤日期 有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    很好地解决了这个问题

    $personal_details = PersonalDetail::whereHas('vacancies',function($query)
          {
                 $query->where('created_at','2015-11-10 11:33:24'); 
          })->get();
    

    它以前不工作。问题是我在空缺表中也有“created_at”字段。

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 2014-01-12
      • 2019-09-17
      • 2014-07-22
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2016-02-08
      • 2016-09-18
      相关资源
      最近更新 更多