CakePHP のbake 機能に苦戦

|

油断してたらもう2 ヶ月も放置してました(苦笑) 放置してた間に転職したり引越ししたりしてたもんで大分忙しかったのですが、加えて仕事も最近忙しくてこの体たらくです(汗)

最近仕事で少しCakePHP を触る場面がありました。DB の管理をするために上手いことbake 機能を使いたいなと目論んでのことでした。考えたのは自分じゃありませんが(笑)

が、これがなかなか厄介でした。このbake 機能は対話形式でいくつか質問を答えてMVC モデルで構築していくものなのですが、この構築にはCakePHP のルールがいくつか関わってきます。この中で一番厄介だったのが、DB のカラムに「_id」で終わるものがあった時、それを外部キーとして認識することでした。

最初からCakePHP を意識してDB を構築していたなら、この自動生成ツールはかなり有効だと思います。というのも、「_id」で終わる物を外部キーと認識し、そのテーブルから情報を取得してプルダウン式に表示してくれるからです。編集するに当たって過ちを犯しにくくなります。

が、外部キーでもないカラムに「_id」で終わるを名前を大量に付けていてしまったために(途中参加のプロジェクトなので自分ではないです)、生成した結果外部キーとして読み込めずにプルダウンに選択肢が無いものが生成されてしまいました。これじゃ自由に値を入れることもできず、DB 編集ツールとしては使い物になりません。

どうにかこれを回避する方法が無いものかと探してみたのですが、スマートな解決方法は結局今の所見つけることが出来ませんでした。設定ファイルとか用意してくれていたら助かったのですが…。

代わりに、スマートじゃないですがなんとか解決する方法を思いつくことが何とか出来ました。生成されたView のedit などにおいて、$form->input でtype を手動で設定すれば、それに従ってくれます。…本当にスマートじゃないですね(苦笑)

これより良い方法があれば知りたいところですが、とりあえず今回はこれで凌ぎました。まだほんの少ししか触ってない状況ですが、個人的にCakePHP は肌に合わないような気がしました。使用用途が違うと思いますが、Smarty の方が合ってる感じがしました。

コンテンツ

その他制作中です(´∀`;

2011年12月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

その他

Firefox3.6 で動作確認・最適化されています。IE8, Chrome, Opera でも多分それなりに大丈夫と思います。

このサイトへのリンクに申請は必要ありません、ご自由にどうぞ。

since 2006.2.1

Powered by Movable Type 5.04