2012-12-10 20 views
6

OrmPHP/Symfony2 Formular Checkbox Feld

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

     // ... 

     motion: 
      type: smallint 
      unsigned: true 

Typ

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

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

    // ... 
} 

Fehler

Erwartete Argument vom Typ "Boolean", "integer" gegeben


Ich möchte durch ein Kontrollkästchen ein- und ausschalten. Der Wert wird durch 0 und 1 verteilt.
Es war nutzlos, auch wenn es den Wertparameter gab.

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

Wie soll ich tun?

Antwort

10

In Ihrer ORM-Mapping-Definition müssen Sie motion als boolesche anstelle von smallint definieren. Übrigens interpretiert Symfony TINYINT als boolesche und andere ganzzahlige SQL-Typen als ganze Zahlen.

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

     // ... 

     motion: 
      type: boolean 
+1

Vielen Dank. Du hast es mir leicht gemacht. –

Verwandte Themen