玉傢伙,基於與整數字段實體Symfony2的形式+學說 - 選擇選擇
我有表的建立,
id
,user_id
,project_id
,stats
,risks
。
現在我試圖建立僅有字段stats
,risk
的表格。所以,我選擇通過userId
和projectId
:
$dql = "SELECT m FROM DevDashProjectBundle:Module m WHERE m.user ="
.$options['user']->getId()."AND m.project ="
.$options['project']->getId();
$results = $this->entityManager->createQuery($dql)->getArrayResult();
現在我想建立形式,其中以價值>0
(或真或某物)字段統計選擇和0
(或假的)沒有被選中。接下來,在編輯表單之後,我想發佈對此字段的更改 - 所以選擇的字段是1
,未選擇0
。
@Edit
我的實體看起來是這樣的:當你看到
/**
* @ORM\Column(name="stats", type="boolean", nullable=false)
*
* @var boolean
*/
protected $stats=true;
缺省值是true。
這樣在控制器我傳遞值:
$form = $this->createForm(new ModuleType($em), $module, array('user' => $user, 'project' => $project));
$用戶和$項目都需要選擇合適的行。
接着在ModuleType
$builder
->add('module', 'checkbox', array(
'label' => 'Stats',
));
表模塊,得到了場統計其是TINYINT(由Symfony的解釋爲布爾值)設定爲1,但該複選框統計仍然是未選中狀態。
我也嘗試某事像這樣:
$builder
->add('module', 'entity', array(
'class' => 'DevDashProjectBundle:Module',
'mapped' => true,
'multiple' => true,
'expanded' => true,
'property' => 'stats',
'query_builder' => function(EntityRepository $er) use ($options){
return $er
->createQueryBuilder('m')
->where(
'm.user =' .$options['user']->getId().
'AND m.project=' .$options['project']->getId()
);
}
)
);
怎麼一回事,因爲我需要選擇USER_ID和PROJECT_ID統計。查詢返回正確的值,但值爲true的複選框仍未選中。