В моей базе данных есть поле местоположения.
"location": {
"lat": "55.234734690612285",
"lng": "33.210904112792958",
"meta": [],
"zoom": 10,
"regions": [
{ "name": "Place 1" },
{ "name": "Place 2" },
{ "name": "Place 3"}
]
},
Как создать запрос, который находит все записи с именами регионов и т. Д. c. Место 2?
Я использую symfony doctrine конструктор запросов.
Но в прошлой записи базы данных это выглядело так:
"location": {
"lat": "55.234734690612285",
"lng": "33.210904112792958",
"meta": [],
"zoom": 10,
"regions": "Place 1"
},
И я нахожу все записи вот так:
public function findEntitysByLocation(string $region)
{
$qb = $this->createQueryBuilder('e')
->andWhere("JSON_CONTAINS(e.location, :regions, '$.regions') = 1");
$query = $qb->getQuery();
return $query->execute(array(
'regions' => '"'.$region.'"'
));
}
И это решение отлично работает. Но теперь у меня должно быть несколько элементов в поле региона.
Я могу использовать запрос RAW, если нет решения Doctrine Query Builder.
Tnx