$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 で試しましたが、何も起こりませんでした..