Я пытаюсь выбрать все результаты из одной таблицы и объединиться с другой таблицей, когда совпадает идентификатор пользователя.Laravel 4 Query Builder: LEFT JOIN ... AND ... query
У меня есть три таблицы: работает, пользователи и сводная таблица run_user. Я хочу выбрать все результаты из «прогонов» и дополнительных столбцов в сводной таблице («завершенные», «липкие», «last_tested» и «трудности»), но только извлекать данные из run_user для текущего пользователя.
В сыром SQL я сумел сделать это с помощью LEFT JOIN с оператором И:
SELECT
runs.startpoint,
runs.startpostcode,
runs.endpoint,
runs.endpostcode,
run_user.completed,
run_user.sticky,
run_user.last_tested,
run_user.difficulty
FROM runs
LEFT JOIN run_user ON run_user.run_id=runs.id AND run_user.user_id = '2'
Любые предложения, как сделать это с помощью Query Builder? Я могу сделать LEFT JOIN в Laravel 4, но не могу понять, как совместить это с инструкцией AND.
Любая помощь приветствуется.
Спасибо!
Спасибо за ваше предложение. К сожалению, у меня такая же проблема, используя предложение «где». Это отлично работает для строк, где таблица run_user имеет запись для запуска, но не получает все прогоны. – user2324369
попробуйте изменить на 'Runs :: where ('id', $ id) -> leftjoin ('run_user', 'run_user.run_id', '=', 'работает.id ') -> first(); ' –