我有一個表單搜索,我想通過布爾型字段來選擇數據。問題是,如果選擇選項的值爲假(0),則查詢將返回所有數據,但如果選擇的選項具有真值(1),則查詢是正確的。symfony3:query_builder按布爾型字段搜索
在formTye:
->add('publier', ChoiceType::class, array(
'required' => false,
'label' => 'Publier',
'choices' => array('oui' => '1', 'non' => '0'),
'multiple' => false,
'expanded' => false,
'attr' => array('class'=> 'form-control')
));
,並在query_builder
if (!empty($publier)) {
$qb->andWhere('a.publier = :publier')
->setParameter('publier', $publier );
}
如果我刪除這個測試:(!空($ publier))如果{我選擇一個錯誤的選擇返回的數據是正確的,但我無法刪除此測試。
這是預期的行爲。 [手冊](https://secure.php.net/empty)會給你一個被認爲是空的值列表。 「假」是其中之一 – kero