0

我在一个简单的新闻 Web 应用程序上工作。

它有表 Articles(id,title,content,user_id) 和表 Users(id,name,username,passwd..) 等。

在后端应用程序中,我只想列出具有特定user_id.

user_id会从$this->getUser()->getAttribute('user_id').

据我所知,symfony 网站上提供的文档没有涵盖这个问题。

4

2 回答 2

0

你可以:

  • 在您的 generator.yml 中插入一个新行,如下所示:

    list:
      title: Articles list
      table_method: getArticlesByUserId
    
  • 在你的 ArticleTable.class.php 中插入一个新函数:

    public function getArticlesByUserId() {
      $userId = sfContext::getInstance()->getUser()->getAttribute( 'user_id' );
      $u = $this->createquery( 'u' )->where( 'u.user_id = ?', $userId );  
    
      return $q;
    }
    
于 2012-06-27T11:09:56.497 回答
0

本文将为您提供不同的方法。

关于您的需求,您可以覆盖buildQuery

protected function buildQuery()
{
  return parent::buildQuery()
    ->where('user_id = ?', $this->getUser()->getAttribute('user_id'));
}
于 2012-06-22T12:19:36.077 回答