Ожидаемый аргумент типа "Boolean", "string", заданный в Symfony2 - PullRequest
0 голосов
/ 19 декабря 2011

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

Я использую:

$infos = $this->getDoctrine()
              ->getRepository('TestMyBundle:My')
              ->find($id);
$form = $this->createForm(new TestType(), $infos);`

Но я всегда получаю это сообщение об ошибке: ожидаемый аргумент типа "Boolean", "string", указанный в Symfony2. Второй параметр $ infos, вероятно, является причиной этого сообщения, но это способ добавить некоторые значения по умолчанию в поле формы с Symfony2.

Может кто-нибудь помочь мне, пожалуйста?

Вот код моего класса TestType.php:

class   TestType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('name');

    $builder->add('description');

    $builder->add('access', 'checkbox', array(
    'label' => 'private access: ',
    'required'  => false,));

    $builder->add('visibility', 'checkbox', array(
    'label' => 'private group: ',
    'required'  => false,));

    $builder->add('invitation', 'checkbox', array(
    'label' => 'ask: ',
    'required'  => false));

    $builder->add('wall', 'checkbox', array(
    'label' => 'wall: ',
    'required'  => false,));
}

1 Ответ

3 голосов
/ 08 августа 2014

Я получил ту же ошибку после перезагрузки формы с проверенным значением, которое уже было сохранено.

/**
 * @var integer
 *
 * @ORM\Column(name="is_recibido", type="integer", nullable=true)
 */
private $isRecibido=null;

Затем я изменил на

/**
 * @var integer
 *
 * @ORM\Column(name="is_recibido", type="boolean", nullable=true)
 */
private $isRecibido=null;

Поле в базе данных является целым числом, но доктрина понимает и преобразует его в логическое значение для формы и целое число, когда оно отправляется в базу данных.

Теперь все стало работать гладко и красиво

...