我有一个CheckboxSetField
,数字为1 - 10.我也有很多关系设置,可以用数字更新。
虽然我可以选择号码没问题,但是一旦提交了这些号码,我就无法再次拨打这些号码。
CheckboxSetField::create("Numbers","Numbers")
->setSource(array("1" => "1",
"2" => "2",
"3" => "3",
"4" => "4",
"5" => "5",
"6" => "6",
"7" => "7",
"8" => "8",
"9" => "9",
"10" => "10",))
->setInline(true)
->addExtraClass("inline-checkbox")
->setDefaultItems($numberlist)
我设置了一个查询,将所有数字都返回setDefaultItems
。
它将数字作为字符串返回,然后我将其转换为数组,但数组返回
Array ( [0] => 1 ) Array ( [0] => 2 ) Array ( [0] => 3 )
如果数组是:
(array("1" => "1", "2" => "2", "3" => "3"))
似乎有效。
我错过了什么吗?
答案 0 :(得分:2)
您的$numberlist
似乎只包含数字作为值,但您需要键和值。
您可以使用array_combine
来实现,例如:
->setDefaultItems(array_combine($numberlist, $numberlist))
提示:要创建数字范围,您可以使用range
功能,这样您就可以将setSource
代码缩短为:
->setSource(array_combine(range(1,10), range(1,10)))