我在一个简单的新闻Web应用程序上工作。
它具有表文章(id,标题,内容,user_id)和表用户(id,名称,用户名,passwd..)等。
在后端应用程序中,我只想列出具有特定user_id
的文章。
我会从$this->getUser()->getAttribute('user_id')
得到user_id
.
据我所知,symfony网站上提供的文档没有涵盖这个问题。
本文将为您提供不同的方法。
关于您的需求,您可以覆盖buildQuery
:
protected function buildQuery()
{
return parent::buildQuery()
->where('user_id = ?', $this->getUser()->getAttribute('user_id'));
}
您可以:
-
在 Generator.yml 中,在 like 下插入一个新行:
list: title: Articles list table_method: getArticlesByUserId
-
在文章表中.class.php插入一个新函数:
public function getArticlesByUserId() { $userId = sfContext::getInstance()->getUser()->getAttribute( 'user_id' ); $u = $this->createquery( 'u' )->where( 'u.user_id = ?', $userId ); return $q; }