Доктрина2 DQL Query по свойством сериализованного объекта в пределах объекта
-
26-09-2019 - |
Вопрос
У меня есть объект с столбцом типа «объекта». Я хочу иметь возможность решить сущность по свойству (скажем, ID) этого объекта. Например, запрос будет выглядеть что-то так:
$em->createQuery('SELECT e FROM Entity_Class e SOME_MAGIC e.object o WHERE o.id = ?1');
Вопрос в том, есть ли * quey_magic * в dql?
Решение
Это невозможно, столбец типа объекта сериализуется в поле CLOB с использованием сериализации (). Там нет способа запросить подпопты этого.
Другие советы
Возможное решение, но не оптимальный - использовать как Expr:
$qb->add($qb->expr()->like("e.column", $qb->expr()->literal("%text_to_search%")));
Потому что в доктрине 2 в некоторых RDBM объект сохраняется в длиннопновом типе, а не Clob или Blob.
Не связан с StackOverflow