передать массив с id не работает:
Model::whereJsonContains('cars', ['list' => ['id' => [1, 2]]])->get();
Если передать один id работает:
Model::whereJsonContains('cars', ['list' => ['id' => 1]])->get();
Вариант со стрелками -> не подходит, т.к. поле cars - это многомерный массив, который имеет N массивов в себе.
Если в цикле добавлять по одному id (их может быть от 1 до N), это нормально будет? Сама реализация хранения не совсем удачная, я знаю 🙄
данный функционал работает, как функция JSON_CONTAINS (если мы говорим о MySQL) https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html если она что-то не может, то Laravel тебе не поможет а на сложных структурах проблема, также она еще и зависит от типа, т.е. если в базе ["1", "2"], а ты contains передал массив с числами, то ничего не выберется тебе только если через raw запросы и специфичные функции по работе c json
Обсуждают сегодня