php - MySQL在多个表中搜索

标签 php mysql laravel eloquent

您好,我有 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/

相关文章:

php - 使用php从数据库上传和显示图片库

php - 输入表单不保存在 phpmyadmin 中

php - 如何查询从单个字符串提取的多个术语的数据库

node.js - Laravel Homestead 使用 Elixir 安装 Gulp 时出错

php - PHP 中的希腊字符

php - 获取链接的 src jQuery

mysql - 根据另一个表中的值过滤 mysql 表

php - 如何最好地将 mysql 数据实现到一行 javascript 代码中?

php - 使用 PHPass 散列密码问题

Laravel 5.1 - 保存在一个时区,显示在另一个时区