2015-05-11 5 views
2

Я хочу преобразовать текущий текущий запрос в ORM. Но я не могу четко понять, как присоединиться.Преобразование запроса Query Builder в Eloquent ORM

Мой текущий запрос:

 $result=DB::table('tests') 
      ->join('tests_matchs', 'tests_matchs.matched_tests_id', '=', 'tests.id') 
      ->where('tests_matchs.user_id', '=', $UserId) 
      ->where('tests_matchs.passed', '=', 'true') 
      ->get(); 

ответ

0

Предполагая, что ваши отношения правильно установить это должно работать:

$result = Test::with('tests_matchs' => function($query) user ($UserId){ 
    $query->where('user_id', '=', $UserId) 
     ->where('passed', '=', 'true'); 
})->get() 
0

@Pawel Bieszczad Вы забыли, что с принимает массив в качестве аргумента, поэтому правильный запрос будет

$result = Test::with(['tests_matchs' => function($query) uses ($UserId){ 
      $query->where('user_id', '=', $UserId) 
       ->where('passed', '=', 'true'); 
}])->get() 
Смежные вопросы