CakePHPのVirtualFieldsが便利な件

virtualfields

CakePHPに限りませんが、よくSQLクエリにて

エイリアスをたびたび使う場合があると思います。

例であげるとすると、誕生日カラムがあり

そこから年齢を算出するエイリアスみたいな感じ。

SELECT
    birth,
    date_part('years', age(birth)) AS age
FROM
    users;

この場合のageの箇所となります。

私、Cakephpではこういうの毎回fieldsに指定しておりましたが

それでも実装はできるのですが何とも気持ち悪い作りになったりとか。。

でもそこはCakePHP、ちゃんと便利なのがあります。

 

VirtualFields

 

もうほんと便利。

やり方としては、モデルのファイル(バリデーションとか記載のあるファイル)に

以下を追加するだけ。

var $virtualFields = array(
    'age' => 'date_part(\'years\', age(User.birth))',
);

これで、ageというエイリアスがついてくれます。

便利。もうほんと便利。

毎回毎回fieldsに書かなくていいと思うと。。

是非使ってみてください。

※ちなみにCakePHP1.3以上が対象です。


コメントを残す




Menu

HOME

 TOP