我在遵循此文档时遇到问题:
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]
它告诉我数组的值应该是一个字符串而不是一个数组,但是无论如何要使它工作吗?请任何人帮我解决这个问题吗?
答案 0 :(得分:4)
正如@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);
}
或者,为了更好的可重用性,创建一个可以处理此类结构的自定义小部件。