2014-09-26 4 views
0

Я работаю над проектом symfony2 и получаю это исключение. у кого-нибудь есть идея о том, что вызывает это?Symfony2 Array to string conversion

Примечание: Массив для преобразования строки в C: \ WAMP \ WWW \ EmploiPublic \ поставщика \ Symfony \ Symfony \ SRC \ Symfony \ Component \ Form \ Extension \ Ядро \ Список выбора \ ChoiceList.php линии 457

protected function fixIndex($index) 
{ 
    if (is_bool($index) || (string) (int) $index === (string) $index) { //this is line 457 
     return (int) $index; 
    } 

    return (string) $index; 
} 

ошибка возникает после вызова метода $ form-> bind ($ request);

if ($request->isMethod('POST')) { 

     $form->bind($request); 
     $searchQuery = $form->getData(); 
    } 
+1

что это должно делать заявление 'if'? – DonCallisto

+0

Я не понял! – bili

+1

Не могли бы вы объяснить мне, что это сделает «если», вам? – DonCallisto

ответ

1

Когда связывание() пытается сопоставить значение данных в форму, он получает значение массива для поля Choice, где он ожидает одно значение строки.

Возможно, что поле «Выбор» должно допускать многоэкранное выделение, и в этом случае вам необходимо убедиться, что при создании элемента управления «Выбор» вы устанавливаете «multiple» в true (а также учитываете опцию «expanded»).

В противном случае невозможно диагностировать вашу проблему, если вы не разместите код, который создает форму и класс или структуру данных, которые отображаются в форме.