symfony-1.4 - 如何使用推进器按多列排序

标签 symfony-1.4 propel

我需要按 2 列对查询进行排序。这可以使用推进吗?

我试过了:

$c->addAscendingOrderByColumn(self::COL1);
$c->addAscendingOrderByColumn(self::COL2);

但是对 addAscendingOrderByColumn 的第二次调用覆盖了第一个调用。

问候,
拉杜。

最佳答案

不幸的是,如果您使用的是 Propel 1.4(Symfony 1.4),似乎您将不得不在那里切换到原始 SQL...

在(旧)Symfony 论坛中没有答案:http://oldforum.symfony-project.org/index.php/m/90447/

但是,从 Propel 1.5 开始,它应该使用新的语法(Doctrine 风格)。 Propel 文档中没有详细说明,但是当我对此进行测试时,它可以工作(提供 ORDER BY author.name ASC, author.id DESC )。

$authors = AuthorQuery::create()
  ->orderByName()
  ->orderById('desc')
  ->find();

也许可以考虑升级到 Propel 1.5。

关于symfony-1.4 - 如何使用推进器按多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584484/

相关文章:

PHP 警告 : array_shift() expects parameter 1 to be array, null 在/home5/.../php/symfony/command/sfCommandManager.class.php 中给出

html - CSS select + select 如何获取第一个select

mysql - 使用 Propel ORM 从 Symfony 中的现有数据库错误生成模型

mysql - Symfony 1.4 插入 : escaping values in custom SQL queries?

在标准中推进包含 MAX 的 ORM

mysql - 在 schema.xml 中推进 "ON UPDATE"

symfony1 - symfony 1.4.8 调试工具栏中的数据库图标在哪里?

php - 如何使用 Propel 1.6 的自定义 SQL 通过查询获取行数?

php - 如何将 Propel Criteria 编译为 SQL

mysql - 由多个列和 NULL 值唯一