Hatena::ブログ(Diary)

bojovs blog RSSフィード

2009-05-08

CakePHPのTree Behaviorのフィールドの規約を変更する方法

環境

問題

ツリービヘイビア(Tree Behavior)ではデフォルトでparent_id, lft, rghtフィールドをテーブルに入れる必要があります。

しかし、例えば、既存テーブル内のparent_idにあたるフィールドの名前が「p_id」などだった場合、デフォルトの値を変更したくなります。

解決法

ツリービヘイビアをモデルで呼び出す際に、

var $actsAs = array('Tree' => array('parent' => 'p_id'));

とします。

lft, rghtフィールドもそれぞれ"left", "right"キーに値を入れることで変更できます。

トラックバック - http://d.hatena.ne.jp/bojovs/20090508/1241712575