Как извлечь данные из json формата и отфильтровать по переменной из json объекта?

Есть столбец data,тип которого - longtext. В нём хранятся данные в формате json, пример:

{
"test_id":"123",
"test_data":
{
   "name":"blabla",
   "id":"7"
}
}

Я знаю как отфильтровать данные по test_id:

$query->whereRaw('json_extract(data, "$.test_id") = "' . $testId . '"');

А как отфильтровать по test_data[id]?


Ответы (1 шт):

Автор решения: tarkik
$query->whereRaw('data->"$.test_data.id" = :id', ['id' => $testId]);

так должно заработать

→ Ссылка