2012-12-10 7 views
6

OrmPHP/Symfony2'de Formu Onay Kutusu alan

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

     // ... 

     motion: 
      type: smallint 
      unsigned: true 

Tip

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

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

    // ... 
} 

Hata

Beklenen Çeşidi argümanı "Boole", "tamsayı" Verilen


Bir onay kutusuyla açmak ve kapatmak istiyorum. Değer 0 ve 1 tarafından dağıtılır.
Değer parametresi verilse bile faydasızdı.

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

Nasıl yapmalıyım?

cevap

10

ORM eşleme tanımınızda, motion tanımını bir smallint yerine boolean olarak tanımlamanız gerekir. Ve FYI, Symfony, TINYINT'i, tamsayı olarak boole ve diğer tamsayı SQL türleri olarak yorumlar.

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

     // ... 

     motion: 
      type: boolean 
+1

Teşekkür ederiz. Benim için işleri kolaylaştırdın. –