如何使用symfony访问sfDoctrineRoute中的用户会话?

时间:2010-04-29 09:54:46

标签: php session routing symfony1 doctrine

如何使用symfony访问sfDoctrineRoute中的用户会话?

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

返回NULL

我无法访问路由中的当前用户会话

Accessing user session from a custom routing class =反应不佳

1 个答案:

答案 0 :(得分:0)

您应该使用控制器中的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:你应该ALWAYS avoid calling sfContext::getInstance()