如何在 mariadb 中使用 -> 运算符查询 JSON 列

2024-03-05

我正在尝试获取时间表,将 json 列数据与 Laravel 项目中的以下代码进行比较:

$schedules = Schedule::where('schedule_with->company_person', $contact_company_person->id)->get();

这会生成如下 SQL 查询:

select * from `schedules` where `schedule_with`->'$."company_person"' = 1;

虽然这适用于 MYSQL 5.7 及更高版本,但不适用于 MARIADB 10.5。但 MARIADB 从 10.2 开始已经支持 JSON 列。 对于 MARIADB,以下查询有效:

select * from schedules where JSON_Value(schedule_with, "$.company_person") = 3;

Laravel 中是否需要进行一些配置更改才能使其正常工作?

我知道它可以通过原始查询来实现,我很好奇我错过了什么?

谢谢你,


不,您无法进行任何配置更改来启用此功能。

引用 MariaDB 的文档10.5与MySQL的区别(8) https://mariadb.com/kb/en/incompatibilities-and-feature-differences-between-mariadb-105-and-mysql-80/#incompatibilities:

MariaDB 10.5 不支持 MySQL 的 JSON 运算符(-> 和 ->>)。

“没有如果,没有但是”。


我想你可以使用正则表达式替换来编辑 Laravel 生成的 SQL就在之前SQL 被执行了,但是执行起来相当困难,而且看起来太老套了,不值得。相比之下,原始的 where 查询并没有那么难看:

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

如何在 mariadb 中使用 -> 运算符查询 JSON 列 的相关文章

  • 多语言网站的 .htaccess 规则

    我正在重新设计 PHP 多语言网站 en es de fr ru 的 URL 该网站的 URL 是这样的 www mysite com page www mysite com page subpage1 www mysite com pag
  • 数据包无序。得到:80 预期:0 node.js

    这是我的 非常简单 代码 var connection mysql createConnection infosDB connection connect connection query SELECT FROM action functi
  • PHP 中的循环数组

    我创建了一个由部分和问题组成的数组 如何循环浏览各个部分并显示每个部分的嵌套问题 这是我创建数组的方式 db db open query SELECT FROM assessment selections WHERE assessment
  • 无循环按键对多维数组求和

    我有这个 Array 0 gt Array f count gt 1 uid gt 105 1 gt Array f count gt 0 uid gt 106 2 gt Array f count gt 2 uid gt 107 3 gt
  • Laravel 5.4 密码重置

    我有一个 Laravel 5 4 应用程序 我的管理区域中有一个视图 允许我查看所有用户 我想创建一个功能 允许我单击后端的按钮 自动发送默认 Laravel 密码重置功能的过程 在我看来 我有以下几点 table class table
  • InnoDB 或 MyISAM - 为什么不两者都使用呢?

    我读过各种关于两者之间哪个更好的主题InnoDB and MyISAM 看来争论的都是使用还是其他 根据表的不同 是否不能同时使用两者 这样做会有什么缺点 据我所知 发动机可以在CREATE TABLE命令 因此 某些经常读取的表可以设置为
  • 将 Javascript 正则表达式转换为 PHP

    我知道这个问题已经被问了大约十几次 但是从技术上讲 这个问题并不是一个骗局 如果您愿意 请检查其他问题 基本上 我有一个 Javascript 正则表达式来检查用于前端验证的电子邮件地址 并且我使用 CodeIgniter 在后端进行双重检
  • Laravel 5 未找到“App\Carbon\Carbon”类

    我最近run sudo composer update 现在在我的一个页面上 我不断得到 我确实用过 now Carbon Carbon now America New York in line 792 on my Helper php M
  • Laravel 5.2 如何更新迁移而不丢失数据

    我使用的是 laravel 5 2 我通常会根据项目要求更新数据库 所以我希望在不丢失数据库记录的情况下执行此操作 我的意思不是如何为我的数据库播种 我的意思是当我的数据库处于活动状态并且我想更新它时抛出 laravel 迁移 我正要扔La
  • 将文本中的所有 URL 替换为 PHP 中的可点击链接[重复]

    这个问题在这里已经有答案了 我有一个用 PHP 编写的 Web 应用程序 我想找到用户评论中的所有 URL 并将它们更改为可点击的链接 我搜索了很多网站和页面 找到了以下解决方案 不幸的是我没有再次找到它的参考链接 感谢其作者 该代码可以完
  • 如何在不使用 PHP 原生函数的情况下将二进制转换为十进制?

    我的代码是这样的
  • 如何在 MySql Workbench 中禁用 INVISIBLE 索引选项?

    我刚刚安装了MySqlWorkbench我发现了实施INVISIBLE index所描述的here https dev mysql com doc refman 8 0 en invisible indexes html 我想禁用此功能 因
  • 修复 PHP 中格式错误的 HTML?

    我正在根据用户提供的片段构建一个大型 HTML 文档 这些用户有以各种方式格式错误的烦人习惯 浏览器足够强大且宽容 但我希望能够验证并 理想情况下 修复任何格式错误的 HTML 如果可能的话 例如 td b Title b td 可以合理地
  • MySQL 如何使用返回多行的 SELECT 子查询插入表?

    MySQL 如何使用返回多行的 SELECT 子查询插入表 INSERT INTO Results People names VALUES SELECT d id FROM Names f JOIN People d ON d id f i
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • 通过API更新Twitter背景

    我在通过 Twitter 的 API 更新背景时遇到了一些问题 target url http www google com logos 11th birthday gif ch curl init curl setopt ch CURLO
  • 在 while 循环内查询可以吗?

    我在一个数据库中有两个表 我正在查询第一个表限制 10 然后循环结果 在 while 循环内 我使用第一个查询中的数据作为参数再次执行另一个查询 以下是该脚本的示例
  • 附加之前检查数据库中是否存在 ID

    我通过选择一个带有类别的数组json decode并将它们附加到文章中 public static function setArticleCategory Request request article Article where id r
  • PHP UTF-8 配置

    我正在使用 PHP 5 3 5 配置 Apache 2 2 17 服务器 我的目标是创建一个默认为内容类型的干净配置UTF 8 php ini default charset UTF 8 default mimetype applicati
  • 查询中的存储过程

    有一个程序获取文件列表 顾名思义 返回一个文件列表以及更多选项 那么是否可以在查询选择中使用此过程 像这样的东西 select Field1 from Image where Field2 IN call GetFileList 你应该把它

随机推荐

  • 如何将 IPV6 地址转换为 IPV4 地址?

    我有使用 IPv4 地址的应用程序 它存储它们很长 因此它只理解 IPv4 地址 是否可以使用Java将IPv6地址转换为IPv4地址 While IPv4 地址范围有 IPv6 等效项 https en wikipedia org wik
  • archiveBaseName 应用于所有构建类型

    我有以下应用程序build gradle android compileSdkVersion 23 buildToolsVersion 23 0 1 defaultConfig applicationId io gresse hugo an
  • 使用 const 断言,如何从任意嵌套对象中提取文字类型?

    这个问题是后续问题this one https stackoverflow com q 76288737 6923555 其中我有一个深度为 2 的结构 const grandkids Karen Ava Alice Amelia Emma
  • 预约和行项目

    我正在构建一个管理应用程序来帮助管理我的移动汽车美容公司 希望还有其他公司 我正在努力弄清楚如何对某些数据进行建模 这个问题与我之前发布的问题相关 但我在下面转载了相关信息 数据库设计 谷歌应用引擎 https stackoverflow
  • 签名字段中的“锁定”字典是签名后签名损坏的原因

    在 PDFBox 2 x 中我把 Lock字典到签名字段 import org apache pdfbox cos COSDictionary import org apache pdfbox cos COSName import org
  • 三星 Galaxy Note 模拟器

    我正在尝试为 Samsung Galaxy Note 创建模拟器 但它不起作用 我尝试了以下配置 sdk r17 平台2 3 3 分辨率 1280x800 密度320 模拟器皮肤已上线 但它没有任何导航键 菜单 返回和主页键 也没有显示键盘
  • XQuery 3.0 相当于 xquery 1.0 版本中的 group by

    我有以下代码 并且我的 saxon jar 文件无法读取 xquery 3 0 for item in doc order xml item group by d item dept order by d return
  • iPad 上的最大沙箱大小是多少?

    我正在编写一个充当媒体播放器 视频和照片 的 iPad 应用程序 我知道应用程序有 2GB 大小限制 但这就是应用程序下载时的大小限制吗 或者在应用程序的整个生命周期中沙箱大小的限制 例如 如果我的小应用程序稍后将各种媒体文件下载到其沙箱中
  • logger.log 未记录到 alfresco.log

    我正在尝试在与 Alfresco 中的模板页面相对应的 javascript 文件中使用 logger log Hello 我设置了以下内容 在custom log4j properties中 覆盖log4j properties log4
  • 仅显示适合的项目数量,然后展开以紧密贴合

    我有一个容器 我想水平地容纳多个孩子 但我知道我的孩子数量比通常容纳的要多 只使用CSS 我如何只显示适合的项目 并将它们展开以紧密贴合 期望的结果
  • 为 Azure Api 管理 Git 存储库生成密码

    Azure Api 管理可以选择为集成 git 存储库创建有时限的密码 作为 VSTS 发布管理的一部分 我们希望将更改自动推送到此 git 存储库 我们不想每个月通过 Azure 门户创建一个新的 git 密码 发布者门户提供证书 htt
  • 无法使用 jquery 的单击事件处理程序来检测右键单击

    在尝试使用 jquery 检测鼠标右键单击时 我注意到单击事件处理程序似乎不会通过鼠标右键单击触发 而 mousedown 或 mouseup 事件处理程序则会触发 例如 右键单击测试 div 后 会出现以下警报 正在测试 test mou
  • 如何禁用 .htaccess 中的 mod_security 和 mod_security2

    我创建了一个 WordPress 插件 该插件很受欢迎 但我收到很多抱怨它不起作用 登录到许多用户的 WP 网站后 在询问管理员密码后 我注意到我无法轻松解决的最后一个问题是 mod security 和 mod security2 阻止了
  • load 在本地路径上工作,require 则不行

    装载者 rb puts gt This is the second file 加载演示 rb puts This is the first master program file load loadee rb puts And back a
  • Excel:按行内容对列进行排序

    这很难描述 我有一些专栏 比如说三个 10 20 20 20 22 24 24 24 26 我喜欢得到的是 10 XX XX 20 20 20 XX 22 XX 24 24 24 XX XX 26 其中 XX 是空单元格 有办法得到这个吗
  • python 计算列表中的元素数量

    我需要能够计算出列表中有多少个字符串 O top board None None None None None None None None None None None None None None None None None None
  • 使用服务的 DDD 实体

    我有一个应用程序 我试图使用至少一个名义上的 DDD 类型的域模型来构建 并且正在努力解决某个部分 我的实体有一些业务逻辑 这些逻辑使用我当前在某些域服务中拥有的一些财务计算和费率计算 以及我放入值对象中的一些常量值 我正在努力解决如何让实
  • 如何在不使用任何框架或库的情况下在屏幕上绘制图形?

    我想手动绘制图形 这意味着不使用任何库或框架 如 QT directX whindow h 就像向屏幕上的每个像素发出命令以在不同时间显示某种特定颜色 每个机构都会根据这些库或它们的名称提供教程 我想要的是制作我自己的 GUI 据我所知 这
  • 强制从外部页面刷新网页

    我有这样的情况 100 台计算机正在显示一个网页 我可以从后端更新此网页 我希望我的 100 台计算机上显示的网页能够自动更新 有没有办法在不轮询的情况下刷新 更新页面 最好的方法是外部页面可以强制页面重新加载 但我认为这是不可能的 Tha
  • 如何在 mariadb 中使用 -> 运算符查询 JSON 列

    我正在尝试获取时间表 将 json 列数据与 Laravel 项目中的以下代码进行比较 schedules Schedule where schedule with gt company person contact company per