CakePHP1.3で開発を始めたのでさっそくvirtualFieldsを使ってみた。
CakePHP 1.3.0
以下のようにCASEも使えるっぽい。
var $virtualFields = array(
'full_title' => 'CASE WHEN info_categories_id != "" THEN CONCAT("[",InfoCategory.name,"] ",Info.title) ELSE Info.title END',
);
お知らせカテゴリが設定されている場合のみタイトルにカテゴリ名を括弧付きで付与。
これで$info['Info']['full_title']で 〜[メディア情報] どこどこで紹介されました〜 みたいな文字列が簡単に呼び出せる。
1.2系までのafterFindで長々と結合してた箇所を消してコードがすっきり!