DOCL-запрос doctrine2 по свойству сериализованного объекта в сущности - PullRequest
1 голос
/ 01 октября 2010

У меня есть объект со столбцом типа «объект».Я хочу иметь возможность получить объект по свойству (скажем, идентификатору) этого объекта.Например, запрос будет выглядеть что-то так:

$em->createQuery('SELECT e FROM Entity_Class e SOME_MAGIC e.object o WHERE o.id = ?1');

Вопрос в том, есть ли * SOME_MAGIC * в dql?

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Это невозможно, столбец типа объекта сериализуется в поле CLOB с помощью serialize (). Нет возможности запросить его свойства.

0 голосов
/ 31 марта 2014

Возможное, но не оптимальное решение - использовать подобное выражение:

 $qb->add($qb->expr()->like("e.column", $qb->expr()->literal("%text_to_search%")));

Поскольку в доктрине 2 в некоторых СУБД объект сохраняется в длинном тексте, а не в CLOB или BLOB.

...