Tôi đang cố gắng chọn tất cả kết quả từ một bảng và hợp nhất với một bảng khác khi khớp với ID của người dùng.Laravel 4 Query Builder: LEFT JOIN ... AND ... truy vấn
Tôi có ba bảng: chạy, người dùng và bảng tổng hợp run_user. Tôi muốn chọn tất cả các kết quả từ 'chạy' và các cột bổ sung trong bảng tổng hợp (được 'hoàn thành', 'dính', 'last_tested' và 'khó khăn'), nhưng chỉ lấy dữ liệu từ run_user cho người dùng hiện tại.
Trong SQL liệu tôi đã quản lý để thực hiện điều này thông qua một LEFT JOIN với câu lệnh AND:
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'
Bất kỳ lời đề nghị làm thế nào để thực hiện điều này thông qua Builder Query? Tôi có thể thực hiện LEFT JOIN trong Laravel 4 nhưng không thể tìm ra cách kết hợp điều này với câu lệnh AND.
Mọi trợ giúp đều được đánh giá cao.
Cảm ơn!
Cảm ơn đề nghị của bạn. Thật không may tôi có cùng một vấn đề bằng cách sử dụng mệnh đề 'where'. Điều này làm việc tốt cho các hàng nơi bảng run_user có một bản ghi để chạy nhưng không nhận được tất cả các lần chạy. – user2324369
thử thay đổi thành 'Chạy :: ở đâu ('id', $ id) -> leftjoin ('run_user', 'run_user.run_id', '=', 'chạy.id ') -> first(); ' –