2014-09-26 88 views
0

我有一个表,名为答案和其列idanswersbatchcandidate_id。我想是没有根据的1添加条件Laravel有()

有没有办法来添加条件,这种说法批号的答案记录所有考生(这是我的候选模型)?

return $this->has('answers', '=', 0)->get(); 

我尝试这样的方式,但它没有工作:

return $this->has('answers', '=', 0)->whereBatch(1)->get(); 
+0

在文档中找到 “如果您需要更多的权力,您可以使用whereHas和orWhereHas方法将”where“条件放在您的查询中” – 2014-09-26 09:42:24

回答

3

您需要whereHas

$this->whereHas('answers', function ($q) { 
    $q->whereBatch(1); 
}, '=', 0)->get(); 

顺便说一句,这是完全一样的调用has与封闭物,5 PARAM :

$this->has('answers', '=', 0, 'and', function ($q) { 
    $q->whereBatch(1); 
})->get(); 
+0

谢谢!这很好用! :) – jedcgc 2014-09-26 09:42:38