我有一個使用multiform模塊的窗體。我有一個checkboxsetfield由一個數據對象填充。SilverStripe - 在MultiForm模塊中使用CheckboxsetField
保存表單時,我得到了奇怪的結果。例如,如果我選擇第一和第三複選框,那麼這是陣列如何出現在數據庫:1 {逗號} 3時我期望看到1,3-
MyDataObject.php
<?php
...
if($SomeData = DataObject::get('SomeData')->sort('SortColumn'){
$fields->push(new CheckboxSetField('SomeData', 'Field Name', $SomeData->map('ID', 'Name')
));
}
的MultiForm。 php
<?php
...
public function finish($data, $form){
if(isset($_SESSION['FormInfo']['MultiForm']['errors'])){
unset($_SESSION['FormInfo']['Form']['errors']);
}
parent::finish($data, $form);
$steps = DataObject::get('MultiFormStep', "SessionID = {$this->session->ID}");
$MyStep = $this->getSavedStepByClass('MyStep');
if($this->getSavedStepByClass('MyStep')){
if($MyStep->loadData()){
$MyDataObject = new MyDataObject();
$MyStep->saveInto($MyDataObject);
$MyDataObject->write();
}
}
...
任何想法如何處理數組?
感謝您的回覆Turnerj, 我按照您的建議完成了,但結果仍然相同。我完全同意你對checkboxsetfield的常見行爲所說的話,我有另一種表達方式完全正常。問題在於我認爲使用MultiForm Module。我會嘗試收集更多的代碼示例來展示今晚。 –