Symfony 4 использует глобальные критерии для сущности - PullRequest
0 голосов
/ 31 августа 2018

Я использую Symfony 4.1, и мне нужно получать результаты из моей БД, исключая некоторые критерии.

Сейчас я использую запрос в своем репо:

 ->andWhere('p.status != :sold')
 ->setParameter('sold', STATUS_SOLD)
 ...

Но я полагаю, что это не очень хороший способ, поскольку мне нужно обрабатывать все запросы и отношения.

Я думал о Слушателе / ​​Подписчике и postLoad событии. Я не знаю, правильно ли это, так как документ очень плохой.

Каков наилучший способ применения критериев для сущности для всего приложения?

1 Ответ

0 голосов
/ 31 августа 2018

Пожалуйста, ознакомьтесь с документацией Doctrine Filters В вашем случае вы напишите что-то вроде

if (!$targetEntity->reflClass->implementsInterface('SoldAware')) {
    return "";
}

return $targetTableAlias.'.status <> ' . Statuses::STATUS_SOLD;
...