как получить доступ к пользовательской сессии в sfDoctrineRoute с помощью symfony? - PullRequest
0 голосов
/ 29 апреля 2010

как получить доступ к пользовательской сессии в sfDoctrineRoute с помощью symfony?

var_dump(sfContext::getInstance()->getUser());    

возвращает NULL

я не могу получить доступ к текущему сеансу пользователя в маршрутизации

Доступ к пользовательскому сеансу из пользовательского класса маршрутизации = неверный ответ

1 Ответ

0 голосов
/ 02 мая 2010

Вы должны использовать метод sfDoctrineRoute::setQuery() из вашего контроллера и сгенерировать запрос, используя его ссылку sfUser и, например, учетные данные пользователя, которые он содержит:

protected function executeIndex(sfWebRequest $request)
{
  $query = Doctrine::getTable('Foo')
    ->createQuery('f')
    ->whereIn('f.access_level', $this->getUser()->getCredentials())
  ;

  $this->getRoute()->setListQuery($query);

  $this->foo_list = $this->getRoute()->getObjects();
}

Надеюсь, это поможет.

PS: вам следует ВСЕГДА избегать вызова sfContext :: getInstance () .

...