我試圖讓下面的查詢中laravel:轉換MySQL查詢到機鋒laravel查詢
SELECT a.name AS subname, a.area_id, b.name, u. id, u.lawyer_id,u.active_search,
FROM subarea a
LEFT JOIN user_subarea u ON u.subarea_id = a.id
AND u.user_id = ?
LEFT JOIN branch b ON a.area_id = b.id
這樣做是爲了獲得分區,看看搜索被用戶激活。
user_subarea表可能有一個記錄,該記錄匹配active_search等於0或1的子區表的id。如果它不存在,我希望查詢返回null。
雖然我能夠在原始SQL中實現這一點,但當我在Laravel中嘗試使用同樣的口才時,我沒有返回任何值。我做了以下幾點:
$query = DB::table('subarea')
->join('user_subarea', function($join)
{
$value = \Auth::user()->id;
$join->on('subarea.id', '=', 'user_subarea.subarea_id')->where('user_subarea.user_id', '=',$value);
})
->leftJoin('branch', 'subarea.area_id', '=', 'branch.id')
->select('branch.name', 'subarea.name as subarea', 'user_subarea.active_search_lawyer', 'user_subarea.id')
->get();
任何幫助將不勝感激。
Sachith,謝謝你的回答,但沒有完全回報。無論如何,我已經找到了自己的答案: – lostintheriver
@ lostintheriver好,請張貼您的答案。它會幫助其他人有相同的情況 – Sachith