2012-12-10 70 views
6

奧姆PHP/Symfony2的形式複選框字段

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

     // ... 

     motion: 
      type: smallint 
      unsigned: true 

類型

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

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

    // ... 
} 

錯誤

預期類型的​​變量 「布爾」, 「整數」 給出


我想打開和關閉一個複選框。 該值由0和1分配。
即使賦值參數也沒用。

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

我該怎麼辦?

回答

10

在您的ORM映射定義中,您必須將motion定義爲布爾型而不是smallint。此外,Symfony將TINYINT解釋爲布爾值,並將其他整數SQL類型解釋爲整數。

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

     // ... 

     motion: 
      type: boolean 
+1

謝謝。你確實爲我提供了方便。 –