您好,我有 3 个表:城市、区域、子位置,我不知道用户正在搜索哪一个,所以我想一次搜索所有表,并且我还需要以某种方式指示它是区域还是区域结果返回的城市或子位置。
表格结构:
Cities:
id int
city_name varChar
Areas:
id int
area_name varChar
Sub_locations:
id int
sub_location_name varChar
所以只需要搜索 city_name 、area_name 和 sub_location_name
我想使用全文搜索。而且我使用 Laravel 4,所以你可以在 Eloquent 中查询。请帮忙,以前从未处理过这种逻辑。谢谢。
最佳答案
你可以尝试一下
$keyword = $_POST['your_search_input_field'];
$query = "(SELECT city_name FROM Cities WHERE city_name LIKE '%" .
$keyword . "%')
UNION
(SELECT area_name FROM Areas WHERE area_name LIKE '%" .
$keyword . "%')
UNION
(SELECT sub_location_name FROM Sub_locations WHERE sub_location_name LIKE '%" .
$keyword . "%' )";
mysql_query($query);
关于php - MySQL在多个表中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37416134/