Symfony 从带有一些空白文本区域的表单中获取查询
Symfony get query from form with some empty text areas
我想知道有没有填充的文本区域有的没填充的文本区域有查询结果。
示例:
$form = $this->get('form.factory')->create(new UsersType(), new Users())
->add('firstname', 'text', array('required' => false, 'label' => 'First name '))
->add('lastname', 'text', array('required' => false, 'label' => 'Last name '))
;
$idm = $em->getRepository('MyBundle:Users')->findBy(
array('number' => $form->get('number')->getData(),
'firstname' => $form->get('firstname')->getData(),
'lastname' => $form->get('lastname')->getData()
));
我希望它忽略未填写的文本并仅使用已填写的文本执行查询。
谢谢!
$lookups = array('number', 'firstname', 'lastname');
$queryArray = array();
foreach($lookups as $lookup){
$fieldData = $form->get($lookup)->getData();
if(!empty($fieldData)){
$queryArray[$lookup] = $fieldData;
}
}
if(sizeof($queryArray) > 0){
$idm = $em->getRepository('MyBundle:Users')->findBy($queryArray);
}
我想知道有没有填充的文本区域有的没填充的文本区域有查询结果。
示例:
$form = $this->get('form.factory')->create(new UsersType(), new Users())
->add('firstname', 'text', array('required' => false, 'label' => 'First name '))
->add('lastname', 'text', array('required' => false, 'label' => 'Last name '))
;
$idm = $em->getRepository('MyBundle:Users')->findBy(
array('number' => $form->get('number')->getData(),
'firstname' => $form->get('firstname')->getData(),
'lastname' => $form->get('lastname')->getData()
));
我希望它忽略未填写的文本并仅使用已填写的文本执行查询。
谢谢!
$lookups = array('number', 'firstname', 'lastname');
$queryArray = array();
foreach($lookups as $lookup){
$fieldData = $form->get($lookup)->getData();
if(!empty($fieldData)){
$queryArray[$lookup] = $fieldData;
}
}
if(sizeof($queryArray) > 0){
$idm = $em->getRepository('MyBundle:Users')->findBy($queryArray);
}