Как я могу использовать wherejsoncontains, когда столбец таблицы содержит массив объектов с одинаковыми ключами и разными значениями laravel php - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь проверить, существуют ли данные с условием в столбце в формате json, как показано ниже.

У меня есть 2 столбца id, test_data

В столбце test_data он имеет значение ниже jsonvalue

{"test_info": [{"type": "text","name": 'sam', "contact": 9839383333, "заявитель": 1, "электронная почта": sam93@gmail.com, "address": "newyork"}, {"type": "textarea", "name": 'john'," contact ": 383839283," заявитель ": 0," электронная почта ":" john33@gmail.com "," address ":" california "}]}

утрапытаясь проверить, где в данных существуют данные с name = 'sam' и type = 'text' или нет. Пробовал ниже один раз, но он не работает для массива объектов

TestData::select('id')->WhereJsonContains('test_data->test_info->type', ["text"]);

, но выше не работает, так как столбец содержит массив объектов. Как я могу проверить, есть ли данные или нет.

1 Ответ

0 голосов
/ 21 октября 2019

Просто замените

test_data->test_info->type 

на

test_info[0]['type']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...