Как найти / обновить массив объекта json, как показано ниже, используя Laravel? - PullRequest
0 голосов
/ 01 февраля 2020

Пример данных

[{
    "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

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020
protected $casts = [
    'project_progress' => 'array',
];
0 голосов
/ 01 февраля 2020

Поскольку ваш запрос условия неверен, а ваш json вложен в массив .

Попробуйте использовать JSON_CONTAINS

 $project->whereRaw('json_contains(project_progress, ?)', ['{"name":"aml_kyc"}'])->first()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...