@vanillathunder

Как передать переменную в join?

Есть запрос
DB::table('users')
        ->join('contacts', function($join)
        {
            $join->on('users.id', '=', 'contacts.user_id')
                 ->where('contacts.user_id', '>', 5);
        })
        ->get();

Я хочу в условие передать значение переменной
$id = 5;
DB::table('users')
        ->join('contacts', function($join)
        {
            $join->on('users.id', '=', 'contacts.user_id')
                 ->where('contacts.user_id', '=', $id);
        })
        ->get();

Но внутри анонимной функции значение данной переменной не видно. Как это реализовать?
  • Вопрос задан
  • 333 просмотра
Решения вопроса 1
amux
@amux
alp.ac
Используйте use:
function($join) use ($id){
  $join->on('users.id', '=', 'contacts.user_id')
    ->where('contacts.user_id', '=', $id);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы