シナリオ
- と が
Provider
ありPackage
ます。 - プロバイダーは、多数の注目のパッケージを持つことができます。
Provider
したがって、 と の間にHABTM が必要です。Package
Provider::edit()
メソッドを使用して、すべてのプロバイダー特集パッケージを一発で保存したい
セットアップ
3 つのモデルがあります。
Provider
FeaturedPackage
Package
モデル
これらは ' HABTM Through ' を使用してセットアップされますが、HABTM と混同しないでください。したがって、関係は次のようになります。
Provider
hasManは所属していますFeaturedPackage
FeaturedPackage
hasManは所属していますProvider
Package
FeaturedPackage
FeaturedPackage
Package
コントローラ
public function admin_edit($id) {
if ($this->request->is('post') || $this->request->is('put')) {
if ($this->Provider->saveAll($this->request->data)) {
// snip
意見
echo $this->Form->input('FeaturedPackages', array('type' => 'select', 'multiple' => true, 'options' => $packages));
リレーションシップの片側から
複数の可変数のレコードを保存する方法がわかりません。hasMany
私は本を読んで、予想されるデータ配列がモデルの下で数値的にインデックス付けされるべきであることを知っています。
ただし、データを正しくフォーマットするためにフィールドに名前を付ける方法がわかりません。
hasMany
ビューを無視しているように見え、フィールドを追加することさえできないため、ビューをベイクできません。
試したフィールド名
FeaturedPackage
FeaturedPackage.FeaturedPackage
FeaturedPackage.package_id
FeaturedPackage..package_id
FeaturedPackage.[].package_id
FeaturedPackage.package_id][