2014-10-17 4 views
0

У меня есть запрос, где мне нужно получить информацию из 2 таблиц. Поэтому мне нужно получить счета-фактуры с invoice_status 1, где user_status равен 1. Хотя я мог запросить таблицу Invoices с таблицей пользователей. когда я д.д. ($ счета) я получить счет-фактуру с пользователями просто отлично ...Laravel - Query "with"

$invoices = Invoice::with('user')->where('invoice_status', '=', 2)->get(); 

Но я не уверен, знаю, как я могу получить users-> account_status. Я пробовал это, но получаю ошибку запроса, он не может найти account_status.

$invoices = Invoice::with('user')->where('invoice_status', '=', 2)->where('account_status', '=', 1)->get(); 

ответ

4

Вы можете передать в затворе для обработки запроса для нетерпеливого загруженным содержания:

$invoices = Invoice::with(array('user' => function($query) { 
    $query->where('account_status', '=', 1); 
}))->where('invoice_status', '=', 2)->get(); 
+0

Это не работает для меня, я получаю ошибку синтаксиса, неожиданный «[», Ожидание ')' – snorth

+0

Возможно, из-за синтаксиса нового массива. См. Мой отредактированный ответ – Dencker

+0

Да, это трюк. Благодарю. – snorth