0

我正在使用带有 Doctrine ORM 的 symfony 1.4。我正在编辑一些动作,我需要将 Propel 查询重写为 Doctrine。这是片段:

  $c = new Criteria();
  $c->add(BlogCommentPeer::BLOG_POST_ID, $request->getParameter('id'));
  $c->addAscendingOrderByColumn(BlogCommentPeer::CREATED_AT);
  $this->comments = BlogCommentPeer::doSelect($c);

任何人都可以帮助转换吗?谢谢。

4

1 回答 1

1

在你的BlogCommentTable.php文件中,把这个方法:

public functoion retrieveByPostId($post_id)
{
  $q = $this->createQuery('c')
    ->where('c.blog_post_id = ?', array($post_id))
    ->orderBy('c.created_at ASC');

  return $q->execute();
}

在你的行动中:

$this->comments = Doctrine_Core::getTable('BlogComment')->retrieveByPostId($request->getParameter('id'));
于 2012-05-01T07:01:58.570 回答