Способ доступа из репозитория к двум значениям в сессии — Symfony2

у меня в сессии два значения:

класс и предмет

Я обновляю эти значения с помощью обработчиков в моей сети, и я использую несколько контроллеров, но у меня есть проблема?

Я вызываю один EntityRepository и использую различные функции несколько раз с одинаковыми двумя значениями: classroom и subject, поэтому я решил изменить конструктор EntityRepository:

class StudentRepository extends EntityRepository
{
function __construct($em, ClassMetadata $class) {

parent::__construct($em, $class);
$this->classroom = $this->getRequest()->getSession()->get('classroom');
$this->subject = $this->getRequest()->getSession()->get('subject');
}
....

Но, конечно, не работает, потому что я не могу получить доступ к сеансу в EntityRepository, и я думаю, что поместить эти 2 значения в каждую функцию этого ER, это действительно дерьмо, так что, какой-нибудь вариант?

Спасибо вам

1

Решение

Рассматривали ли вы DI (отложенный) сеанс? Вы можете добавить следующее к вашему сервису:

student_repository_Service:
...
calls:
- [setSession, ["@session"]]

Затем, создавая setSession метод, сохраняя сеанс в переменной, и вы можете получить доступ к сеансу из $this->session

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]