如何在cakephp中创建saveMany()的输入字段?

gajydyqb  于 2022-11-24  发布在  PHP
关注(0)|答案(1)|浏览(109)

我编写了name[],以便使用cakephp saveMany()方法插入多个名称。

<?= $this->Form->control('name[]',['label'=>'Name']);?>

问题是我得到的数组

[
  'name' => [
    (int) 0 => 'A',
    (int) 1 => 'B',
  ],
]

获取错误消息Cake\ORM\Table::saveMany(): Argument #1 ($entities) must be of type iterable
如何创建用于多次插入的名称输入字段?

htzpubme

htzpubme1#

使用带有索引的表单帮助程序的点语法,即0.name1.name2.name等,这将产生如下格式的数据

[
    0 => [
        'name' => 'A',
    ],
    1 => [
        'name' => 'B',
    ],
    2 => [
        'name' => 'C',
    ],
    // ...
]

然后使用Table::newEntities()/Table::patchEntities()一次创建/修补多个实体。
另请参阅

*Cookbook〉视图〉帮助程序〉表单〉字段命名约定
*Cookbook〉数据库访问和ORM〉保存数据〉将请求数据转换为实体〉转换多个记录
*Cookbook〉数据库访问和ORM〉保存数据〉保存多个实体

相关问题