如何在symfony中列出某个作者撰写的文章



我在一个简单的新闻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;
    }
    

最新更新