php 选择使用数据库查询

f4t66c6m  于 2023-03-28  发布在  PHP
关注(0)|答案(1)|浏览(162)

早上好/晚上好

我有一个简单的表与键值存储方法(值是一个json字段)我试图选择所有结果从数据库表,其中键是alert_daily_report和值至少必须是一个真正的价值是{"sms": false, "email": true}
我正在使用Laravel框架
到目前为止我可以说

DB::table('my_table')->whereJsonContains('key->alert_daily_report' , confused about the value this is where am stuck )
c90pui9n

c90pui9n1#

JSON_EXTRACT函数使用“$.email”路径表达式从“value”字段中的JSON对象中提取“email”键的值。WHERE子句过滤“key”值为“alert_daily_report”且“email”值为true的结果。
注意,在MySQL中,布尔值表示为0(false)和1(true)。因此,您也可以使用比较运算符“=”,而不是“=”。例如:

SELECT *
FROM your_table
WHERE `key` = 'alert_daily_report'
AND JSON_EXTRACT(`value`, '$.email') = 1;

JSON_EXTRACT函数在MySQL 5.7及更高版本中可用。它是在MySQL 5.7.8中引入的,作为对JSON数据类型和函数的支持的一部分。如果您使用的是MySQL的早期版本,则无法使用JSON_EXTRACT函数。

相关问题