我试图让下面的查询中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