如何过滤数据透视表中按多个条件过滤的记录 - laravel eloquent collections

2024-03-09

我正在改建一个图书推荐个人网站。我想通过多个标准来过滤书籍。

例如,我想展示所有哲学和科幻小说的书籍。彼得·瓦特的《盲视》就是一个例子。

现在我只能做一个标准过滤器:

我有一个数据透视表

示范书

public function genres()
{
    return $this->belongsToMany('App\Genre', 'bookgenres', 'book_id', 'genre_id');
}

型号类型:

public function books()
{
    return $this->belongsToMany('App\Book', 'bookgenres', 'genre_id', 'book_id');
}

数据透视表书籍类型样本:id,book_id, genre_id

1 - 23 - 4

2 - 23 - 5

3 - 24 - 4

用简单的英语来说:第 23 本书既是科幻小说 (#4) 又是哲学 (#5),而第 24 本书只是科幻小说 (#4)

有了这些,我只需查询

$genre = 4;
$books = Genre::find($genre)->books()->get();

并使用标准的@foreach循环来列出书籍


To do:按两种流派(而不是一种流派)过滤集合。

提前致谢!


您可以查询关系whereHas http://laravel.com/docs/4.2/eloquent#querying-relations

在这里我使用流派的名称。如果您愿意,也可以使用 id。只需更改列名和数组即可。

$genres = array('philosophy', 'science-fiction');
$books = Book::whereHas('genres', function($query) use ($genres){
    $query->whereIn('name', $genres);
})->get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何过滤数据透视表中按多个条件过滤的记录 - laravel eloquent collections 的相关文章

  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • 此集合实例 Laravel 关系中不存在属性 [X]

    我在 Laravel 5 6 中使用了很多 Realtions 当我添加 phonebooks 时 我看到所有关系都工作正常 一切都很好 但是当我尝试在视图中显示它们时 我得到了属性在此集合上不存在的错误 这是关系代码 public fun
  • 使用 laravel 检查活动用户状态

    这是非常标准的登录功能和验证 效果很好 但我还想检查用户是否处于活动状态 我在用户表中设置了一列 并将 活动 设置为 0 或 1 public function post login input Input all rules array
  • 熊猫:有条件的groupby

    我有数据框 ID used at active seconds subdomain visiting category 123 2016 02 05 19 39 21 2 yandex ru 2 Computers 123 2016 02
  • Laravel 5 未找到“App\Carbon\Carbon”类

    我最近run sudo composer update 现在在我的一个页面上 我不断得到 我确实用过 now Carbon Carbon now America New York in line 792 on my Helper php M
  • Codeception API 测试响应返回“N/A”

    我正在使用 Laravel 和 Codeception 作为测试框架编写 API 我无法让 Codeception 返回响应代码 我可以从 Codeception 获取响应代码 以及 JSON 响应 我编写了一个简单的测试来从 GET 请求
  • 需要帮助在 JavaScript 中过滤数组

    这是我在 JavaScript 中的数组 let myArray Bob Katy Bob Bob Katy 我想通过检查来过滤这个数组如果当前值等于其后或之前的值 我不太确定如何实现这一目标 但是 有人能给我指出一个方向吗 现在我知道如何
  • 在 Laravel 中使用块或游标优化代码

    我有Company型号和Contact我的模型中定义的Laravel 5 4应用程序中 两者具有多对多的关系 因此 例如联系人模型具有 public function company return this gt belongsToMany
  • 我可以在 Laravel 5.2 中创建一个继承自 User 的新类吗?

    我对 Laravel 还很陌生 使用的是迄今为止的最新版本 5 2 因此我遇到了以下困境 我知道 Laravel 附带了一个User开箱即用的类 但我想开发一个系统 在其中我可以有另外两种类型的用户 称为Researcher and Adm
  • Laravel 资源策略始终为 false

    我试图允许用户在 Laravel 5 4 中查看自己的个人资料 用户策略 php public function view User authUser user return true 在 AuthServiceProvider php 中
  • 如何使用 Laravel Mix 和 WorkBox?

    我正在尝试为我的应用程序构建一个 PWA 并花了近 48 小时试图弄清楚如何将 Workbox 与 Laravel Mix 结合使用 具有讽刺意味的是 谷歌说 Workbox 是为了让事情变得简单 Buh 好吧 到目前为止我已经弄清楚了 我
  • 同一模型之间的两个 has_many 链接

    I have users其中有products通过 habtm 链接 该链接正在运行 我想添加一个链接user模型和product模型 以跟踪creator该产品的 当然 谁并不总是拥有该产品 但是当我写在我的user and produc
  • 如何在 Laravel 5 中通过键获取所有缓存项的列表?

    Laravel 中的 Cache 类具有 get itemKey 等方法来从缓存中检索项目 以及 Remember itemKey myData1 myData2 来将项目保存在缓存中 还有一个方法可以检查缓存中是否存在某个项目 Cache
  • Laravel 5.3 Eloquent 事务和外键限制

    我正在从事一个更大的项目 我们在一个 Postgres 数据库中有多个模式 我们在模式之间创建了外键 这是一个例子 gt 我们有公司模式和用户模式 公司模式有company users表 该表对user users表有外键限制 CREATE
  • laravel cron 使用错误

    Laravel 错误 cron 使用 usr bin php home sitevk artisan 计划 运行 1 gt gt dev null 2 gt 1 应用 控制台 内核 use Illuminate Console Schedu
  • 如何在 vue.js 中创建用于创建和编辑功能的简单模式?

    我正在尝试创建一个模型以便能够编辑现有数据 我该怎么做呢 我正在使用一个
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • laravel中过滤后如何导出excel?

    我想仅导出视图刀片中过滤的数据 我正在使用 Laravel 7 和 maatwebsite excel 3 1 和 PHP 7 4 2 我浏览了文档并应用了这个 View a href class btn btn success i cla
  • 如何在 Laravel Mix 中将公共路径更改为包含下划线的路径?

    Laravel 5 4 中引入了 Mix 来编译资产并维护资产管道 Mix 默认为您的公共目录被命名public 在许多情况下 包括我的 我的公共目录被称为其他名称 就我而言 是public html 如何更改资源编译到的公共目录 我尝试过

随机推荐

  • 这个设计模式的名字是什么?

    假设我需要将应用程序中的文本保存到文件中 但允许用户拥有多种格式 pdf word txt 选择 第一种方法可能是 if extension pdf ExportToPdf file else if extension txt Export
  • 更改 UITableView、iPhone 中滚动条的宽度和颜色

    我只能找到是否要显示滚动条或不使用 tableView showsVerticalScrollIndicator YES NO 但如何自定义滚动条的颜色 宽度以及其他功能 如果可能 任何帮助将不胜感激 EDIT 我从代码片段中得到了这个想法
  • 如何在 AngularJs 中存储和读取会话(值)?

    我在存储和读取会话数据时遇到问题Angularjs 单击按钮后 emp name 应存储在session以及我如何读取存储的 emp namesession plnkr 中的示例 http plnkr co edit aX8A6b91obP
  • 如何在函数式编程中使用多态性? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在不同域的远程计算机上启动 Windows 服务

    我的电脑位于域 A 中 远程服务器位于域 B 中 我想使用 c 或任何其他语言或脚本从我的电脑重新启动服务器上的服务 Notes 我通过 VPN 连接到服务器 这意味着我可以手动 RDP 服务器并可以手动重新启动服务 我无法使用本地服务窗口
  • WCF 错误 未提供客户端证书。在 ClientCredentials 中指定客户端证书

    我正在尝试调用 WCF 服务 我创建了一个自签名证书并安装在我的 localmachine personnal certificates 中 并且我还在我的部分中添加了该证书 但我不明白为什么会出现此错误 这是我的 web config
  • 如何替换子资源请求中的嵌入凭据?

    我在 Ionic 应用程序的控制台中收到此错误 Deprecation Subresource requests whose URLs contain embedded credentials e g https user pass hos
  • 应用程序邀请配置失败 Firebase iOS cocoapods

    我在尝试新版本的 firebase 时遇到了一个构建错误 Terminating app due to uncaught exception com firebase appinvite reason App Invite configur
  • 如何在 JavaScript 中实现函数数组?

    我对 JavaScript 还很陌生 我需要编写一对 20 x 20 矩阵函数 我的所有函数都接受一个数字并返回一个数字 即相同的签名 例如 Myfunctions 1 2 应该返回一对可以在代码中调用的函数 在 Java 中 我通常会实现
  • multiprocessing.Pool.imap_unordered 的内存使用量稳步增长

    我刚刚注意到我的程序在处理大文件时使用越来越多的内存 不过 它一次只处理一行 所以我不明白为什么它会继续使用更多内存 经过大量挖掘 我意识到该程序由三个部分组成 加载数据 一次一行 处理a中的每一行multiprocessing Pool
  • 将元素添加到 xml 文件

    我正在尝试从 C csproj 文件添加和删除元素 该文件的部分内容如下所示 有人可以告诉我如何做以下两件事吗 添加一个元素 如下所示 该行显示 我想添加 这 删除一个元素 例如 假设我想删除 I 行 已在下面指出
  • 应用程序操作:通过动态快捷方式在 Google Assistant 中显示小部件

    考虑到官方文档和代码实验室中显示的选项 我的问题相对简单 但我一直在努力使其工作 我想通过动态快捷方式触发一个小部件在 Google Assistant 中显示 看起来非常简单 但是当实现这样的功能和动态快捷方式时
  • Rails 3 ajax 更新部分在没有页面刷新的情况下不起作用

    我正在开发 Rails 3 购物车 我有一个目录页面 其中显示所有产品 还有一个部分显示购物车的要点 因此 用户添加到购物车的任何产品都会显示在此购物车部分中 现在 这不起作用了 将产品添加到购物车后 我必须点击刷新 否则部分不会更新 这是
  • 如何从不同的活动获取主启动活动的意图?

    我目前正在进行另一项活动 如何获取主启动 Activity 的 Intent Intent launchIntent getIntent 上式中 显然getIntent 不会让我得到正确的Intent我需要的 我怎样才能获得主启动Activ
  • 导出 DLL 中的静态数据

    我有一个 DLL 其中包含一个静态类members I use declspec dllexport 为了利用这个类methods 但是 当我将其链接到另一个项目并尝试编译它时 我收到静态数据的 无法解析的外部符号 错误 例如 在DLL中
  • Python 小版本之间的 Wheel 不兼容性

    我正在 PyPi 上发布一个包 它将支持 Python 3 6 并且希望构建尽可能少的轮子 我读过Python 的轮子包装系统 https packaging python org guides distributing packages
  • javascript函数(输入大于今天日期的日期)

    我是 javascript 的初学者 我需要一个函数来检测用户是否输入日期 并在日期小于今天的日期时提醒他 HTML
  • 将角色混合到可调用对象中

    理论上 你可以在运行时将角色混合到对象中 https docs raku org language objects Mixins of Roles 所以我尝试用一 个函数来做到这一点 my random f gt arg Just arg
  • 使用 JavaScriptSerializer() 反序列化 JSON 文件

    我将反序列化的 json 文件的结构如下所示 id 1lad07 text test url http twitpic com 1lacuz width 220 height 84 size 8722 type png timestamp
  • 如何过滤数据透视表中按多个条件过滤的记录 - laravel eloquent collections

    我正在改建一个图书推荐个人网站 我想通过多个标准来过滤书籍 例如 我想展示所有哲学和科幻小说的书籍 彼得 瓦特的 盲视 就是一个例子 现在我只能做一个标准过滤器 我有一个数据透视表 示范书 public function genres re