在 cakephp 3 中以添加形式保存 hasMany 关系

Saving hasMany relation in add form in cakephp 3

我有一个 Shop,可以有很多 Offers,我想创建一个新的商店,并在商店的 add form 中提供一些优惠。

根据我的阅读,这些字段应该看起来像这样

<?= $this->Form->control('offers.0.name', ['value' => 'awesome']); ?>

但是我收到一个表单错误,因为缺少报价的 shop_id

如何构建我的表格以保存商店和优惠,并为优惠填写新创建的 shop_id。

//在控制器中,

$shopTable=TableRegistry::get('Shop');
$entity = $shopTable->newEntity($this->request->getData(), [
           'associated' => [
                'Offers'
            ]
          ]);

或者,与关联的patchEntity相同,你可以这样做。