php - 链接表上的 where 条件 Laravel 5.4

标签 php mysql laravel where-clause

我正在尝试为我的网络应用程序创建一个搜索引擎,我需要它根据应用于链接表的条件来选择结果。我有一个帖子表

title | content | user_id | date | rating | views |

user_id 列链接到用户表

id | username | city

因此,当用户在他们的城市搜索帖子时,我想以某种方式查看帖子的作者和他们的城市。像这样的事情

Post::where('title', 'like', $title)->where('users.[Author's id]', $city)->get()

这只是一个例子。我不知道这是否可能。我使用的是 Laravel 5.4。

可能存在与此类似的问题,我不确定,但如果您提供其中一个问题的链接,我将不胜感激。先感谢您。

最佳答案

由于是经过城市,所以只需要查询与whereHas的关系即可

Post::where('title', 'like', $title)->whereHas('users', function($query) use ($city) {
     $query->where('city', $city);
})->get();

这将搜索标题类似于 $title 且包含城市为 $city 的所有用户的所有帖子。

关于php - 链接表上的 where 条件 Laravel 5.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45839884/

相关文章:

php - mysql_fetch_array 中的无效 MySQL 参数

mysql - 在一个 mysql 查询中获取男性/女性/所有人的平均投票评级

php - 如何将数组分配给sql查询的变量

php - Sphinxql - 如何在不使用 sphinxapi.php 的情况下在 PHP 中使用 Sphinxql 时使用具有顺序的查询

python - MySQL 选择产品的所有组件

javascript - Bootbox 警报未显示在 Laravel View 中

laravel - laravel 5中auth中间件拦截的表单提交

javascript - JQuery 日期选择器无法正常工作

PHP 帮助设置数据库内容的样式

php - 如何结合 laravel 和 vue 路由