我有两张有关城镇的桌子。(城镇归属于城市,城市有许多城镇)
城镇表:
身份证,姓名,城市
城市表:
身份证,姓名
对于自动完成的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/