私はOrderモデルを持っています。これは、フィールドuser_idによってUserモデルにログインします。ここで、ユーザーごとに1つの最も古い注文を取得したいと思います。例えば:
id = 0, user_id = 1, created = 2012-10-10 20:36:42
id = 1, user_id = 1, created = 2012-10-10 19:36:42
id = 2, user_id = 1, created = 2012-10-10 21:36:42
id = 3, user_id = 2, created = 2012-10-10 22:36:42
id = 4, user_id = 2, created = 2012-10-10 21:36:42
id = 5, user_id = 2, created = 2012-10-10 23:36:42
したがって、結果は次のようになります。
id = 1, user_id = 1, created = 2012-10-10 19:36:42
id = 4, user_id = 2, created = 2012-10-10 21:36:42
私は今のところ次の検索オプションを使用しています:
array(
'group' => 'user_id',
'order' => array('MIN(created) DESC'),
)
そしてまた試してみました'order' => array('created DESC')
しかし、それは機能しません-GROUPING注文は常にORDERINGの前に行われるようです。グループ化する前に、findメソッドに作成されたフィールドごとにレコードを並べ替えるように強制するにはどうすればよいですか?