2014-09-26 2 views
0

У меня есть таблица с ответами и ее столбцы: id, answers, batch, candidate_id. Я хочу получить всех кандидатов, у которых нет записей ответов по номеру партии 1.Добавление условий в Laravel has()

Есть ли способ добавить условие к этому утверждению (это в моей модели-кандидате)?

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

Я попробовал этот путь, но это не сработало:

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

найдено по документации «Если вам нужна еще больше энергии, вы можете использовать методы whereHas и orWhereHas для установки условий« где »на ваши запросы» –

ответ

3

Вам нужно whereHas:

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

Btw это точно так же, как вызов has с закрытием в 5-м парам :

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

спасибо! это отлично работает! :) – jedcgc

Смежные вопросы