foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

CakePHP find で max や min を使いたい

問題

CakePHP find で SQL の MAX() や MIN() を使いたい。

解決方法

fields に直接記述することで使える。
group を使って、GROUP BY を発行させることを忘れないように注意。

<?php
Model::find('first', array(
    'conditions' => array(...),
    'group' => array('MAXで参照するフィールド名'),
    'fields' => 'MAX(ord) as max_ord',
));
?>

find() の最後はカッコが2つ )); になることも注意。