cakePHPのModelでSQLのCASE WHEN文を使いたい

Author:

cakePHPのModelでcase文を使いたい場合、fieldsにそのまんま書けばいいです。
別にカラム名しか書いちゃいけないというわけじゃないです。

こんな感じ。
$this->find(‘all’, [‘fields’ => ‘sum(case when age > 30 then 1 else 0) as count’]);

もちろんcountとかmysqlの関数も同じように書けばそのまんま反映されます。
joinsみたいに特別な書き方する必要は無いです。

codeigniterでも$db->select()内にそのまま書けば動くし、とりあえずこういうSQL関数はそのまんま書いてみると動いたりするものです。

Share on Facebook
Pocket