2012-12-10 10 views
6

OrmPHP pole/Symfony2 Formularz Checkbox

My\SampleBundle\Entity\Subject: 
    type: entity 
    id: 
     id: 
      type: integer 
      generator: { strategy: AUTO } 
    fields: 

     // ... 

     motion: 
      type: smallint 
      unsigned: true 

Rodzaj

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    // ... 

    $builder->add('motion', 'checkbox', array(
     'required' => false 
    )); 

    // ... 
} 

Błąd

Oczekiwany argument typu "Boolean", "całkowitą" podane


Chciałbym włączyć lub wyłączyć za pomocą pola wyboru. Wartość jest dzielona przez 0 i 1.
Był bezużyteczny, nawet jeśli podał wartość parametru.

$builder->add('motion', 'checkbox', array(
    'value'  => 1, 
    'required' => false 
)); 

Co mam zrobić?

Odpowiedz

10

W definicji odwzorowania ORM należy zdefiniować motion jako wartość typu boolean zamiast smallint. A FYI, Symfony interpretuje TINYINT jako boolean, a wszelkie inne całkowite typy SQL jako liczby całkowite.

My\SampleBundle\Entity\Subject: 
    type: entity 
    id: 
     id: 
      type: integer 
      generator: { strategy: AUTO } 
    fields: 

     // ... 

     motion: 
      type: boolean 
+1

Dziękuję. Na pewno ułatwiłeś mi pracę. –