【问题标题】:Saving hasMany relation in add form in cakephp 3在cakephp 3中以添加形式保存hasMany关系
【发布时间】:2018-01-10 10:47:10
【问题描述】:

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

从我读到的字段应该是这样的

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

但我收到了一个表单错误,因为缺少优惠的shop_id

我如何构建我的表单以保存商店和优惠以及蛋糕填写新创建的优惠的 shop_id。

【问题讨论】:

  • 显示你的patchEntity()
  • @kicaj 到目前为止我不使用patchEntity()。我希望我能用正确的表单结构解决这个问题。
  • 如果你想保存关系模型你应该使用 patchEntity 和关联参数
  • 根据蛋糕命名约定,表格的主键应该是“id”。请发布您的关系和表结构

标签: cakephp cakephp-3.0 cakephp-3.4


【解决方案1】:

//在控制器中,

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多