如何在Laravel中查询WhereAnd与关系?

时间:2016-12-13 18:39:07

标签: eloquent laravel-5.3

我有一个名为Tutor的模型,它有很多Subjects hasMany() relationship。 我想写一个查询,可以检索所有具有物理和数学科目的导师。

主题的表格结构如下:

id | title | tutor_id

实现它的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

要让所有导师都拥有subjects物理和数学,那么你可以将你的查询写成:

Tutor::whereHas('subjects', function($q) {
      $q->where('title', 'physics')
    })
    ->whereHas('subjects', function($q) {
        $q->where('title', 'maths')
    })
    ->get();

答案 1 :(得分:0)

$tutors = Tutor::whereHas('subjects', function($q) {
                $q->where('title', 'physics')
                  ->orWhere('title', 'maths');
            })->get();

我不确定这个确切的代码是否可行,但是你明白了。 要解释一下,subjectsTutorSubject之间的关系,title应该是subject表中的字段名称。