0

$select->order(array('a.pay DESC', 'a.payDate ASC', 'a.insertDate DESC'));

クエリをそのように並べますが、結果を見ると、実際には a.insertDate は結果の順序リストに何の役割もありません。

有料アカウント (a.pay > 0) が最初の位置にあり、最も古い有料アカウントが最初にあるときに順序を達成したい..次に、有料アカウントの後にアカウントがリストされ、a.insertDate DESC (つまり、支払い後に新しいアカウントが作成されます)。a.id DESC no a.insertDate DESC で試しましたが、何も起こりませんでした..

4

1 に答える 1

1

解決策を見つけました

$select->order(array('a.pay DESC','isnull(a.payDate) ASC', 'a.payDate ASC', 'a.insertDate DESC'));

于 2012-11-19T15:50:45.543 に答える