У меня есть форма, использующая мультиформатный модуль. У меня есть checkboxsetfield, заполненный данным объектом.SilverStripe - использование CheckboxsetField с модулем MultiForm
При сохранении формы я получаю странные результаты. Например, если выбрать первые и третьи флажки, то это, как появляется массив в базе данных: 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. Я попытаюсь собрать еще несколько примеров кода, чтобы показать сегодня. –