繁体   English   中英

Doctrine_Table 中的查询生成器?

[英]Query builder in Doctrine_Table?

我使用查询生成器在其他 Doctrine 项目中有一个先前编写的查询。

$qb->select('c', 'm')
           ->from('Chapter c')
           ->leftJoin('c.Book m')
           ->orderBy('c.chapterno DESC')
           ->addOrderBy('m.id ASC')
           ->groupBy('m.id')
           ->where('c.chapterno = (SELECT MAX(v.chapterno) FROM Chapter v WHERE v.mid = m.id)')
           ->limit($max);

如何在 symfony 中的 Doctrine_table 继承的 class 中复制它?

我正在使用 symfony 1.4

在您的章节表ChapterTable中,类似于以下内容:

public function getChapters($max)
{
    $qry = self::getInstance()
        ->createQuery("c")
        ->leftJoin('c.Book m')
        ->orderBy('c.chapterno DESC')
        ->addOrderBy('m.id ASC')
        ->groupBy('m.id')
        ->where('c.chapterno = (SELECT MAX(v.chapterno) FROM Chapter v WHERE v.mid = m.id)')
        ->limit($max);

    return $qry->execute();
}

然后你可以用例如调用它:

$myMaxValue = 25;
$results = Doctrine::getTable("Chapter")->getChapters($myMaxValue);

是一个很好的解决方案来组织您的查询:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM