Rad*_*mir 3 propel symfony-1.4
我需要按2列对查询进行排序.这是否可以使用推进?
我试过了:
$c->addAscendingOrderByColumn(self::COL1);
$c->addAscendingOrderByColumn(self::COL2);
Run Code Online (Sandbox Code Playgroud)
但第二次调用addAscendingOrderByColumn会覆盖第一个.
此致,Radu.
不幸的是,如果您使用的是Propel 1.4(Symfony 1.4),那么您似乎必须切换到原始SQL ...
(旧)Symfony论坛中没有答案:http://oldforum.symfony-project.org/index.php/m/90447/
但是,从Propel 1.5开始,它应该使用新的语法(Doctrine样式).它在Propel doc中没有详细说明,但是当我测试它时,它可以工作(给出ORDER BY author.name ASC, author.id DESC
).
$authors = AuthorQuery::create()
->orderByName()
->orderById('desc')
->find();
Run Code Online (Sandbox Code Playgroud)
也许考虑升级到Propel 1.5.
我正在努力解决这个问题,看完这篇文章后,我几乎放弃了......但是我发现了这个解决方案:
$criteria->addAscendingOrderByColumn(ClassPeer::COLUMN1)->addAscendingOrderByColumn(ClassPeer::COLUMN2);
Run Code Online (Sandbox Code Playgroud)
这样,对addAscendingOrderByColumn的第二次调用将把顺序添加到第一个.
归档时间: |
|
查看次数: |
9621 次 |
最近记录: |