2014-09-13 130 views
1

當我創建一個新實體時,我希望默認選中某個複選框。正如文檔所說,我使用了數據屬性,但是現在當我編輯同一個實體時,將檢查複選框是否爲0或1.Symfony複選框字段默認選中

如何使它能夠在我執行新實體時使用複選框被檢查。但是當我取消選中它時,存儲該實體並編輯它,它會使用存儲的值?使用實體構造

$builder 
      ->add(
       'naamOrganisatie', 
       'text', 
       array(
        'label' => 'Naam organisatie', 
        'required' => false) 
      ) 
      ->add('isOrganisatie', 'checkbox', array('required' => false, 'data' => true)) 
      ->add('naam', 'text', array('required' => false)) 
      ->add('voornaam', 'text', array('required' => false)) 
      ->add('vestigingsnummer'); 

回答

2

初始化isOrganisatie數據:

public function __construct() { 
    $this->isOrganisatie = true; 
} 

要覆蓋形式使用數據屬性的值。

+0

/** * @ORM \列(類型= 「布爾」,可爲空= true) */ private $ isOrganisatie = true; 訣竅 – Nealv 2014-09-13 12:30:20

+0

這是正常的,你在構造函數中使用布爾比較==嗎? – Mz1907 2016-12-10 11:07:17

+0

這是一個錯字,我修正了這個錯誤 – 2017-01-24 00:24:38

1

在實體/ Object.php文件

public function __construct() { 
    $this->setIsOrganisatie(true); 
} 
0

可以在實體attribut初始化默認值

/** 
* @var boolean 
* 
* @ORM\Column(name="is_organisatie", type="boolean", nullable=true) 
*/ 
private $isOrganisatie = true;