laravel - 如何使用 Laravel 搜索/更新下面的 json 对象数组?
问题描述
样本数据
[{
"name": "aml_kyc",
"order": 4,
"online": true,
"enabled": true,
"completed": false
}, {
"name": "payment_video",
"order": 6,
"online": false,
"enabled": true,
"completed": false
}]
我试过了$project->where('project_progress->name', 'aml_kyc')->first()
,但我明白了null
Laravel@latest
MySQL@5.7.27
解决方案
因为您的条件查询是错误的,并且您的json 是由 array 嵌套的。
尝试使用JSON_CONTAINS
$project->whereRaw('json_contains(project_progress, ?)', ['{"name":"aml_kyc"}'])->first()
推荐阅读
- c# - 如何在c#中从没有SPLIT的字符串中获取单词
- java - Mac上有_JAVA_OPTIONS吗?
- python - fromkeys 方法的意外结果
- swift - SwiftUI - 数组中只有一个对象属性为真
- c++ - Qt Quick2 为单例类类型创建 qmlRegisterSingletonType
- python - 使用 pandas 对行进行子集化
- android - 如果 edittext 在 TextInputlayout 内,将 drawableLeft 添加到 EditText 会使提示向右移动。当 proguard 启用时
- python - 用户存在但无法使用 simpleJWT 和 Django Admin 进行身份验证
- python - 计算 df 的平均值,但如果 =>1 的值与该平均值相差 >20%,则平均值设置为 NaN
- c# - 如何为 ASP.NET Core API 设置 OAuth2 不记名令牌?