Нет хорошего способа запроса сериализованных данных, если база данных не поддерживает их изначально (например, последние postgres + JSON).
LIKE
и аналогичные подходы (REGEXP
) могут быть быстрыми исправить и может сработать, если вы точно знаете, что в этой области не может быть никаких других сериализованных данных, но они, по моему опыту, ненадежны: не стоит хлопот.
Если это разовая работа, получите данные в PHP, пусть PHP их анализирует, используйте in_array
.
Если вы хотите добавить функцию вообще, чем раньше вы преобразуете сериализованное поле в отдельную таблицу с внешним ключом Счастливее ты будешь в конечном итоге. Использование типа массива doctrine - это то, что вам следует делать, только если вы уверены, что вам не нужно запрашивать это поле.