Laravel 中的 whereHas 查询

2023-12-24

大家好,

        $filterArray = explode("_", $filters);

        $data['articles'] = \DB::table('products')->join('product_category', function ($q) {
            $q->on('product_category.product_id', '=', 'products.id');
        })->where('product_category.category_id', '=', $id)
            ->select('products.*')
            ->whereBetween('price_retail_1', array($priceFrom, $priceTo))
            ->whereHas('filters', function ($query, $filterArray) {
                $query->whereIn('filter_id', $filterArray);
            })
            ->orderBy('products.' . $sort, $sortOrder)
            ->get();
    }

我有以下查询,并且在 whereHas 方法上遇到一些问题。我收到错误

Unknown column 'has' in 'where clause

最有可能的是因为 $filterArray 变量超出了函数的范围(或者至少这是我的猜测。任何有关如何解决问题的帮助都是值得赞赏的。


你不能使用whereHas查询生成器上下文中的方法。这whereHas方法仅适用于Eloquent来自 Eloquent 模型及其关系的查询生成器。

你能做的就是使用joins。所以你可以这样尝试:

$filterArray = explode("_", $filters);

$data['articles'] = \DB::table('products')->join('product_category', function ($q) {
        $q->on('product_category.product_id', '=', 'products.id');
    })->where('product_category.category_id', '=', $id)
        ->select('products.*')
        ->whereBetween('price_retail_1', array($priceFrom, $priceTo))
        ->join('filters', 'products.filter_id', '=', 'filters.filter_id')
        ->whereIn('filter_id', $filterArray);
        ->orderBy('products.' . $sort, $sortOrder)
        ->get();

我不知道你如何连接这两个表,所以这里只是示例数据:

->join('filters', 'products.filter_id', '=', 'filters.filter_id')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 中的 whereHas 查询 的相关文章

  • PHP MySQL 仅当 IP 是新时才更新列

    我试图让我的脚本在每次 IP 出现新值时将观看次数更新 1 604800秒后 如果同一用户 同一IP 在604800秒后再次回来 则查看计数 1 有人可以帮我吗 Get video id id GET id Get video title
  • 特性与界面

    我最近一直在尝试学习 PHP 我发现自己对 Trait 很着迷 我理解水平代码重用的概念 并且不想必然从抽象类继承 我不明白的是 使用特征与接口之间的关键区别是什么 我尝试寻找一篇不错的博客文章或文章来解释何时使用其中一种 但到目前为止我发
  • 警告:出于安全原因,`exec()`已被禁用[重复]

    这个问题在这里已经有答案了 我将 gif 上传到我的网站 上传完成后 我可以看到此错误 Warning exec has been disabled for security reasons in data web virtuals 289
  • Tortoise SVN 合并“@### 必须与 @### 有祖先关系”错误

    背景故事 找到了一份入门级 Web 开发人员的工作 当我开始工作时 首席开发人员就离开了 一切责任都在我身上 没用过SVN 盲目进去 Problem 我不断收到类似错误 svn svn svn xxx project name branch
  • switch 语句中的 continue 2 和break

    我是 PHP 新手 在网上看到了下面的代码 它有continue 2 and break一起在switch case陈述 这是什么意思 foreach elements as element switch element type case
  • Laravel 和 ngrok:路由和资产的 url 域不正确

    我的设置 Mac OSX 上配置了多个站点的 Homestead 我有一个使用 domfit test 作为本地域的站点设置 使用主机更新器自动映射 我的问题 If I vagrant ssh 进而share domfit test我得到了
  • 在 Laravel 上将百万行数据从一个数据库复制到另一个数据库

    使用 Laravel Eloquent 我从旧 Mysql 数据库的一张表中复制 700 万行数据 并将这些行放在新 Mysql 数据库的不同表中 问题是 执行此操作花费了几乎一天的时间 并且我需要对近 80M 行重新执行此操作 我一次使用
  • 如何在自定义短代码中获取 WooCommerce 产品对象以避免错误

    我有一个函数 我试图使用产品 id 获取当前产品的产品简短描述 但我不断收到未捕获错误 调用成员函数 get short description on bool in 我有以下简码函数 我试图使用产品 ID 获取当前 WooCommerce
  • 对于MySQL查询中的每个结果,推送到数组(复杂)

    好吧 这就是我想做的 我正在运行 MySQL 查询来获取最新的帖子 对于每个返回的行 我需要将行的 ID 推送到数组 然后在数组的该 ID 内 我需要从行中添加更多数据 多维数组 到目前为止 这是我的代码 query SELECT FROM
  • 插入前检查数据库中是否存在行

    DBH new PDO dsn username password opt DBH gt setAttribute PDO ATTR ERRMODE PDO ERRMODE EXCEPTION DBH gt setAttribute PDO
  • 将大数字转换为字母(然后再转换回来)

    是否有一个术语来描述将大数字存储为字母的想法 例如 假设我有 相对较小的 数字 138201162401719 并且我想将字符数缩小到尽可能少的字符数 我知道这无助于节省磁盘空间 英文字母表中有 26 个字母 但我将它们算作 25 个 因为
  • 限制检索的行数 MySql、Laravel

    问题 我的问题是使用 Mysql 或 Laravel 通过查询返回的行数是否有限制 首先 我使用 Laravel 5 2 我试图从日志表中检索数据 该表最近已超过 10k 行 现在从那时起 或大约那个时候 用于检索数据的常用 Laravel
  • 如何在没有 SSH 的情况下安装/使用 Composer

    伙计们 我有一个共享主机 我无法使用 SSH 或使用 php 调用 shell shell exec 出于安全原因 我无法因资金问题升级我的服务器 但我需要安装Composer 并使用 SDK 来完成我的项目 有什么方法可以安装 使用com
  • Laravel 4 中检索特定日期范围内数据记录的查询

    我有一张桌子有record date以及对应的amount字段 我试图检索按日期月份分组的总金额 我是 Laravel 新手 在普通 php 中我会使用以下 mysql 查询 gt SELECT MONTH record date YEAR
  • PHPStorm - 如何设置实时编辑[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我刚刚安装 PHPStorm 但在实
  • 如何使用mb_detect_encoding检测编码是否正确?

    我想检测编码是否正确 但我发现 mb detect encoding 总是得到错误结果 并且我添加了很多encoding list UTF8 ISO 8859 你试图做的事情只是有时作品 编码检测并不是一门精确的 科学 因此您能做的最好的事
  • Laravel 4 中如何知道查询是否失败?

    我将 Laravel 4 与 MySQL 结合使用 我想知道如何控制在数据库中插入 更新或删除记录时可能出现的错误 例如 如果我进行如下更新 DB table user gt where id id gt update userdata 我
  • 在 Doctrine 2 ORDER BY 中使用 DQL 函数

    我正在使用 MySQL 数据库在 Symfony 2 3 和 Doctrine 2 4 中做一个项目 我有一个 FieldValue 实体 简化 class FieldValue The ID var integer protected f
  • 将 xml 加载到 php 文件时出现“xmlParseEntityRef:无名称”警告

    我正在使用 php 读取 xmlsimplexml load file 然而 当尝试加载 xml 时 它会显示警告列表 Warning simplexml load file function simplexml load file
  • wordpressfunctions.php - 为每个帖子类别使用不同的页面模板

    我想连接到 save post 函数 找出帖子所属的类别 然后为每个类别中的帖子分配不同的页面模板 我已经尝试了大约 30 个不同的版本 但都没有成功 有人可以帮我指出正确的方向吗 add action save post assign c

随机推荐

  • IllegalArgumentException:pointerIndex 超出 SwipeRefreshLayout 的范围

    我已经得到了其中一些IllegalArgumentException pointerIndex out of range在 crashlytics 上崩溃 我不明白发生了什么 它不限于一种 Android 版本或设备 它发生在 5 0 1
  • ASP.NET MVC 将视图渲染为用于电子邮件发送的字符串

    我想使用 MVC 视图创建电子邮件正文 我遇到过这个 http www brightmix com blog renderpartial to string in asp net mvc http www brightmix com blo
  • Groovy 的“它”是什么?

    我有一个正在处理的集合removeIf 在 Groovy 中 在街区内 我可以访问一些it标识符 这是什么 它记录在哪里 it是闭包中提供的隐式变量 当闭包没有显式声明的参数时它可用 当闭包与集合方法一起使用时 例如removeIf it将
  • 为当前目录提供服务的简单文件服务器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个非常简单的垃圾箱 我可以在 shell 中启动它并让它为当前目录提供服务 最好不是 也许还有一个 p用于指定端口 由于它应该
  • AWK -- 如何进行选择性多列排序?

    在 awk 中 我该怎么做 Input 1 a f 1 12 v 2 b g 2 10 w 3 c h 3 19 x 4 d i 4 15 y 5 e j 5 11 z 所需的输出 通过对数值进行排序 5 1 a f 2 10 w 2 b
  • 如何从 Snomed Postgres Sql 数据库查找关系

    问题陈述 从 Snomed CT 数据库中提取所有父母 祖父母 子女和孙子女 描述 我正在尝试在本地机器上设置 snomed 数据库来提取特定概念的关系 所有父母和孩子 使用 Concept id 我已经从以下位置下载了 snomed 数据
  • 扁平化复杂的 json 对象以进行 mvc 绑定

    我的控制器以 json 格式将对象图返回到视图 如下所示 return Json customer 在视图上我的 json 对象看起来像这样 Name Joe Budget Amount 500 Spend 100 它正确映射到我的客户对象
  • MVC kendo 窗口 - 从 JavaScript 函数获取数据

    我的应用程序中有这个剑道窗口 Html Kendo Window Name copyStructure Title Copy Structure Content Loading LoadContentFrom CopyStructure N
  • 如何对解决方案中的所有文件禁用#nullable

    我想将我的代码库迁移到可为空的引用 之一迁移策略 https learn microsoft com en us dotnet csharp nullable migration strategies包括添加 nullable disabl
  • 为什么Rails 的composite_primary_keys gem 不起作用?

    我已按照说明进行操作here http roninonrails blogspot com 2008 04 gotcha compositeprimarykeys gem html 通过安装composite primary keys ge
  • 比较 Hibernate 中日期时间字段的时间部分

    我有一个使用 hibernate annotations mysql 组合进行 ORM 的应用程序 在该应用程序中 我得到了一个带有日期字段的实体 我正在寻找一种在时间范围内选择该日期的方法 所以hh mm ss没有日期部分 MySQL中有
  • Symfony:服务...依赖于不存在的参数 kernel.secret

    我正在尝试设置一个新的 Symfony 项目 当我执行 php console php config dump reference 时 出现错误 提示 服务 uri signer 依赖于不存在的参数 kernel secret 您的意思是
  • 解析SQL查询并提取列名和表名

    我有一个这样的查询脚本 SELECT View1 OrderDate View1 Email SUM View1 TotalPayments FROM dbo View1 WHERE View1 OrderStatus Completed
  • 如何在Mono中嵌入flash?

    是否可以在单声道应用程序中嵌入闪存 最好类似于它可以作为 ActiveX 控件嵌入到 Net 中的方式 但是任何 Flash 命令可以以某种方式冒泡到 Mono 应用程序的方式都可以 我原以为可以使用网页浏览器查看flash 但是我无法确定
  • 显示下拉列表时微调器的状态是什么?

    我正在创建一个带有自定义视图的微调器 无论如何 我设法在微调器处于非活动状态以及按下时显示不同的可绘制对象 我希望在下拉列表显示时保持按下状态可绘制 这是 mi XML 文件
  • 虚拟析构函数和未定义的行为

    这个问题不同于 我何时 为何应该使用virtual析构函数 struct B virtual void foo B lt not virtual struct D B virtual void foo D B p new D delete
  • 绝对元素和

    我试图在 Hackerrank 上解决这个问题 https www hackerrank com challenges playing with numbers problem https www hackerrank com challe
  • 有什么办法可以持续运行服务吗?

    Stack Overflow 上很少有类似的问题 但没有一个解决方案适合我 问题在于只有少数设备 例如 OnePlus 和 MI 一旦用户从最近的应用程序中删除应用程序 该服务就会被终止 我读到这些 OEM 使用一些激进的策略来终止服务 我
  • 将 WordPress 网站移至新域后,jQuery 无法正常工作

    我刚刚将我的网站移至 hostgator 上的新域 但现在该网站的内容未显示 无法运行的网站是http alcaldarone com http alcaldarone com我开发和工作的网站是http atcjr alcaldarone
  • Laravel 中的 whereHas 查询

    大家好 filterArray explode filters data articles DB table products gt join product category function q q gt on product cate