私はcakePHPを初めて使用し、フレームワークに頭を悩ませて、要件を実装する方法を確認しようとしています。
私のアプリケーションでは、(管理者)ユーザーがForms(親)とFormElements(子)を定義できます。これらは後でオンザフライで作成され、エンドユーザーに表示されます。
プロトタイピングを開始するために、すべてのピースをベイク処理し、期待どおりに両方のテーブルに行を入力できます。
質問を単純化するために編集します。
フォームコントローラにはすでにフォームのリストが表示されており、フォームが選択されると(アクションの表示)、そのフォームのFormElementのリストが表示されます。しかし...新しいFormElementを追加するときは、要素が関連付けられるフォームを再度選択する必要があります。
代わりに、FormElementsコントローラー/モデルに、最初に選択されたフォームを認識させ、form_idに自動的に入力してもらいたいと思います。
これを処理する方法に関する「ベストプラクティス」アプローチはありますか?
必要な場合に備えて:
CREATE TABLE IF NOT EXISTS `forms` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`description` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `form_elements` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`name` varchar(40) NOT NULL,
`type` int(11) NOT NULL,
`widget` int(11) NOT NULL,
`mandatory` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;