1

私は次のようなショップ構造を持っています

1:Shop多いCategories

2: Categories1 対多をSizes持ち、Products

3: それぞれproductが正確に 1 つに属するCategory

4:Sizesに属しているので、a に属してCategoriesいるそれぞれのサイズは同じになります。productcategory

今、私の問題は製品追加フォームにあります。

製品の入力フィールドを含むフォームと、を選択するための選択ボックスがありますCategory

カテゴリを選択するとすぐに Ajax リクエストが作成さsizesれ、選択したカテゴリに割り当てられた入力ボックスとして返されます。入力ボックスは、製品の各サイズの価格を入力するために使用されます。(入力フィールドは Ajax で生成されるため、フォーム ヘルパーを使用するにはどうすればよいですか?)

保存ボタンをクリックすると、製品情報が製品テーブルに保存され、価格が

Product_Pricesproduct_id, size_id, price列を含むテーブル。

入力ボックスにどのように名前を付ける必要がありますか? また、情報が適切に保存されるようにするには、save メソッドをどのように呼び出す必要がありますか?

4

1 に答える 1

2

ワンサイズ保存するには

//$this->Form->create('Product');
$this->Form->input('category_id');

多サイズ保存するには

//$this->Form->create('Shop');

$this->Form->input('category_id');

またはリストの代わりにチェックボックスを使用します

$this->Form->input('category_id', array('multiple' => 'checkbox')); 

メイン モデルと一緒に別のモデルのプロパティを保存する場合は、モデル名 (エイリアス) をプレフィックスとして追加し、saveAssociated()orを使用しますsaveAll()

echo $this->Form->input('ProductPrice.price');

参照: http://book.cakephp.org/2.0/en/models/ Saving-your-data.html #model-saveall-array-data-null-array-options-array

于 2013-01-21T15:55:32.733 に答える