TreeBehavior の left, right ってそういう事だったのね
Thursday, June 04, 2009 04:06:26 PM
<!– more –>CakePHP でとっても役に立つビヘイビアに TreeBehavior があるんです。
このビヘイビアを使うと、商品カテゴリとかディレクトリみたいに、ツリー構造になっているモデルを簡単に扱うことができます。簡単になるのは、ツリー構造を取得したり、階層を1つ上に移動したり、特定の階層の下に追加したり、といった自分で作ったら、チョー面倒な処理ばかりです。
で、これまで大変お世話になったのに、あんまり意味もわからず parent と left,rightの列があればいいんでしょ、ぐらいにしか思ってませんでした。DB弱者なんで TreeBehavior のソースも追わなかったし・・・・
で、たまたまSQL関係で調べ物をしていたら、すばらしいページを発見。
『SQLで木と階層構造のデータを扱う(1)―― 入れ子集合モデル』
いや、(自分にとっては)すごく難しい話なんですが、すごくわかり易く解説してあって、left,rightってそういう事だったのね、とわかってきた時は感動します。CakePHPのtreeはparent_idが必要なんですが、この理論で行くといらないですね。たぶん何かの都合でparentを持つことにしたと思うんですけど、TreeBehaviorのコードからそこまで読み取ることはできませんでした。
Recent Articles
- マルチプルレポをモノレポへコミットログを残しながら移行する 2023/09/27
- tsyringe を TypeScript 5 で使う方法 2023/05/02
- LocalStack を使って aws-sdk の Integration Test を実行する 2023/04/19
- AWS SDK v3 のモジュールと利用方法 2023/04/18
- ts-jest が esbuild/swc をトランスフォーマーに使って高速化していた 2023/04/13
- aws-sdk v3 を使うライブラリを作ったときは、なるべく peerDependencies に設定しよう 2023/04/11
- aws-sdk v2 が 2023 年中にメンテナンスモードになる 2023/04/06
- Node.js v18 / aws-sdk v3 の Lambda アプリが突然動かなくなる 2023/04/05
- aws-sdk v3 でコンパイルエラーになる - その2 2023/04/04
- aws-sdk v3 で TS2345 が出てコンパイルエラーになる 2023/04/03