我有两张有关城镇的桌子。(城镇归属于城市,城市有许多城镇)
城镇表:
身份证,姓名,城市
城市表:
身份证,姓名
对于自动完成的ajax查询,我可以通过这样的sql查询获得结果。

Select t.id AS townid, t.name AS townname, c.name AS cityname FROM towns t
left join cities c ON t.city_id=c.id
where t.name like '%ana%' OR c.name like '%ana%';

所以我得到了我想要的结果。但在拉腊维尔,我无法做到这一点。
我可以在城镇中搜索,但不必搜索城市名称。
    $towns = App\Town::with('city')->where('name', 'like', '%ana%')->get();

最佳答案

尝试下面的代码

$towns= DB::table('towns')
     ->join('cities', 'cities.id', '=', 'towns.city_id')
     ->select('towns.id as townid', 'towns.name as towname', 'cities.name as cityname')
     ->where('towname', 'like', '%ana%')
     ->orWhere('cityname', 'like', '%ana%')
     ->get();

关于mysql - Laravel在相关表中进行多次搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41737689/

10-11 09:10