Я знаю, что условные фильтры еще не доступны для запросов (в соответствии с «26.1.4. Применение правил фильтрации к любому запросу» в разделе «Известные ограничения» руководства Doctrine2), поэтому я хотел спросить экспертов, что они предпочитают Решение следующей проблемы:
У моего сайта есть объекты товаров, у каждого из которых есть много отзывов. Отзывы имеют статус поля. Я не хочу излишне извлекать отзывы, которые не были одобрены во время автоматической ассоциации, которую Doctrine2 делает так чудесно.
Мое текущее решение / хак - использовать наследование одной таблицы (STI) с дискриминатором для «статуса» и иметь ApprovedProductReview, расширяющий класс ProductReview на основе состояния «УТВЕРЖДЕНО»
Я должен добавить, что я сейчас просто звоню
$em->find('Entities\Product', $pid);
чтобы получить мой продукт, и Doctrine2 делает все ассоциации автоматически. Должен ли я вместо этого создавать экземпляр продукта, предоставляя DQL-запрос?
То, что я действительно хотел бы, - это способ переопределить магию, предоставляемую Doctrine2 на основе аннотаций, и просто иметь возможность использовать DQL для ленивого получения правильного подмножества отзывов.
Предложения