json - Eloquent - SQLite 查询 json 列中的嵌套值
问题描述
使用 json 列时,我的测试环境出现问题。
在我的测试中,我使用了一个 SQLite 数据库,并且我意识到在访问 json 列时我的查询失败了......我不知道如何面对它。我正在运行最新版本的 Homestead。
我的问题是:
我有一个带有设置json 列的 User 模型,其中存储了一个名为mailing的布尔值,因此,如果我想查询所有带有 mailing true 的用户,我可以编写:
User::where('settings->mailing', true)->count();
然后,这给我一个错误:
SQLSTATE[HY000]: General error: 1 no such column: true (SQL: select count(*) as aggregate from "users" where json_extract("settings", '$."mailing"') = true)
在我使用 MySQL 的本地环境中,它工作正常,那么 SQLite 和 json 列查询是否存在问题?
另一个提示:在两种环境中使用whereNull()
或whereNotNull()
工作正常时。
谢谢!
解决方案
推荐阅读
- ios - Swift 仅针对某些错误类型组合重试
- java - Spark广播大列表无法序列化
- c - C - 双指针为 NULL。链表结构
- css - 有没有办法将 CSS 过滤器应用于 IOS 中嵌入的视频?
- javascript - 邮递员获取 Gmail 电子邮件 ID,遍历电子邮件 ID?
- java - Spring @Transactional 卡在 GCP Pub/Sub 异步订阅者内部
- bash - 在 kali linux 终端上,如何在 nano 或 vim 上创建一个 20 字的 .txt 并制作一个脚本 bash,为每个注册表添加一个数字?
- python - pymc3 不使用 OMP_NUM_THREADS 指定的所有内核
- javascript - 如何获取特定时区中特定时间的纪元时间?
- java - Applet 上的键盘输入运动