передать массив с 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
Обсуждают сегодня