我有一个小的laravel项目,它在来自2个相同结构表的LIKE
条件下进行搜索。下面是示例
Table1
id name
1 Ryan Cole
2 Bailey Henderson
Table2
id name
1 Anna Henderson
2 Corey Allen
对不起,我没有代码,但是下面是我需要的结果。
A)用单词'Henderson'
搜索单个查询,预期结果应为:
[ {'id':2, 'name':'Bailey Henderson'}, {'id':1, 'name':'Anna Henderson'} ]
//because of 'Henderson' contain on both table.
B)用单词'Ryan'
搜索,结果应为:
[ {'id':1, 'name':'Ryan Cole'} ]
//because of 'Ryan' only contain in table1.
C)用单词'Corey'
搜索,结果应为:
[ {'id':2, 'name':'Corey Allen'} ]
//because of 'Corey' only contain in table2.
非常感谢任何建议或指导。
答案 0 :(得分:1)
您是否在查询生成器中尝试过“联盟”?
$a = DB::table("table1")
->select("table1.id", "table1.name")
->where('name', 'like', "%$searchTerm%");
$b = DB::table("table2")
->select("table2.id", "table2.name")
->where('name', 'like', "%$searchTerm%");
$a->union($b)
->get();