设想
- 我有
Provider
和Package
。 - 提供者可以有许多特色包。
- 所以我们需要一个 HABTM
Provider
和Package
Provider::edit()
我想使用该方法一次性保存所有提供者的特色包
设置
我有三个模型。
Provider
FeaturedPackage
Package
楷模
这些是使用“ HABTM Through ”设置的,不应与 HABTM 混淆。所以关系如下。
Provider
hasManyFeaturedPackage
FeaturedPackage
属于To Provider
Package
hasManyFeaturedPackage
FeaturedPackage
属于ToPackage
控制器
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][