2011-01-03 33 views
3

2列でクエリをソートする必要があります。これはpropelを使って可能ですか?propelで複数の列で注文する方法

私が試した:

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

をしかしaddAscendingOrderByColumnへの2回目の呼び出しは、最初のものを上書きします。

よろしくお願いします。 Radu。

答えて

5

あなたは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)。

おそらくPropel 1.5にアップグレードすることを検討してください。

5

私はこの問題に苦しんでいたし、この記事を読んだ後、私はほとんどあきらめてきた...しかしsuddendly私はこの解決策を見つけた:

$criteria->addAscendingOrderByColumn(ClassPeer::COLUMN1)->addAscendingOrderByColumn(ClassPeer::COLUMN2); 

このようにaddAscendingOrderByColumnへの2回目の呼び出しは、順序が追加されます最初のものに。

+0

この回答には正しいとマークする必要があります。 – Agrest

関連する問題