我在执行此文档时遇到问题:
Cakephp3 Cookbook - Form - Creating Select Pickers
我试过“多个复选框”部分:

$options = [
   'Group 1' => [
      'Value 1' => 'Label 1',
      'Value 2' => 'Label 2'
   ],
   'Group 2' => [
      'Value 3' => 'Label 3'
   ]
];
echo $this->Form->select('field', $options, ['multiple' => 'checkbox']);

但输出是这样一个错误:
Notice (8): Array to string conversion [CORE/src/View/StringTemplate.php, line 238]

这就像告诉我数组的值应该是一个字符串而不是一个数组,但是有没有办法让它工作呢?有人能帮我解决这个问题吗?

最佳答案

正如@holt在评论中已经提到的,你在那里做的事情根本不受支持。如果您认为这可能有用,可以在github上suggest it as an enhancement
现在,您可以做的是手动构建它的一半,例如

foreach ($options as $group => $groupOptions) {
    $legend = $this->Html->tag('legend', $group);
    $checkboxes = $this->Form->select($group, $groupOptions, [
        'name' => 'field',
        'multiple' => 'checkbox'
    ]);
    echo $this->Html->tag('fieldset', $legend . $checkboxes);
}

或者,为了更好地重用,创建一个可以处理此类结构的自定义小部件。
参阅Cookbook > View > Helpers > Form > Adding Custom Widgets

08-27 06:46