1
私はCheckboxSetField
に1から10の数字があります。また、数字で更新される多数のリレーションシップの設定もあります。CheckboxSetFieldのSilverstripe many-manyリレーションシップ
数字は問題なく選択できますが、選択した番号をもう一度送信すると問題が発生します。
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"))
動作するようです。
何か不足していますか?
ありがとう、これは助けます! – Craig
これについてもっともう1つ。オプションを選択解除すると、番号1以外のDBは更新されない理由はありますか? 1がチェックされていない場合、DBから削除されますが、ページがリロードされると、他の番号が再度チェックされます。ありがとう – Craig
"Numbers"はあなたの 'many_many'関係ですか?私はあなたの設定を知らないと本当に助けることができません。 – bummzack