Оставьте дискриминаторную часть сгенерированного в Doctrine SQL

Предположим следующееAbstractPage модель:

/*
 *     @ORM\Entity
 *     @ORM\Table(name="page")
 *     @ORM\InheritanceType("SINGLE_TABLE")
 *     @ORM\DiscriminatorColumn(name="type", type="string")
 *     @ORM\DiscriminatorMap
 *     ({
 *         "page" = "Page",
 *         "link" = "Link"
 *     })
 */

И следующий запрос DQL:

SELECT p FROM \Page\Model\AbstractPage

Сгенерированный SQL будет:

SELECT ... FROM page p0_ WHERE p0_.type IN ('page', 'link')

Теперь к вопросу: как я могу удалитьWHERE предложение из этого запроса. На более сложные запросы эта частьWHERE Предложение не позволяет использовать некоторые индексы, которые определены. Это можно решить, добавивtype к индексам, но это делает мои индексы больше, и я чувствую, что в этом нет необходимости.

AbstractPage является корнем в дереве наследования. Таким образом нас интересуют ВСЕ записи в таблице. ОпускаяWHERE часть делает именно это.

Итак, вопрос: как я могу заставить Доктрину удалить этоWHERE часть, где это не нужно.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос