@symnoob

Как отфильтровать по пользователю все запросы?

У меня в проекте существует много листингов, есть ли какой-нибудь event, где бы я мог просто подсовывать условия фильтрации?
что-то типа
if ($entity instanceof OwnerInterface) {
            //some Logik
}

Просто в каждом контроллере пихать ->findByUser($user) просто как-то бессмысленно, да и есть ещё кое-какая логика.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Почему бессмысленно? Не бессмысленно. Контроллеры могут быть разными: API, Console. Web… везде может быть разная фильтрация. Поэтому, это точно не бессмысленно.

По поводу логики - это правильно. В контроллере она быть не должна! Для этого создайте свой сервис фильтрации. Передавайте в него Query Builder и фильтруйте как нужно и где нужно.

Подробнее можно почитать на примере EasyAdmin https://symfony.com/bundles/EasyAdminBundle/curren... или на Laravel пример для понимания https://habr.com/ru/post/485520/

Пример на Laravel только для понимания, как это можно осуществить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы