у меня в сессии два значения:
класс и предмет
Я обновляю эти значения с помощью обработчиков в моей сети, и я использую несколько контроллеров, но у меня есть проблема?
Я вызываю один 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, это действительно дерьмо, так что, какой-нибудь вариант?
Спасибо вам
Рассматривали ли вы DI (отложенный) сеанс? Вы можете добавить следующее к вашему сервису:
student_repository_Service:
...
calls:
- [setSession, ["@session"]]
Затем, создавая setSession
метод, сохраняя сеанс в переменной, и вы можете получить доступ к сеансу из $this->session
…
Других решений пока нет …