Ajax 基于上一个select2中的选择使用select2查询数据库
我正在从事一个symfony项目(也使用Doctrine),我想在其中一个页面上实施交错搜索,例如: 用户在第一个select2框(通过Ajax从DB中提取数据)中搜索作者,一旦选择了一个项目,就会出现第二个select2框,名为title,我只想显示属于所选作者的标题 以下是初始框的控制器端代码(Ajax和controller)。你知道如何为第二个select2构造查询吗 与初始select2相关的部分,用于查询数据库中的结果和自动建议项:Ajax 基于上一个select2中的选择使用select2查询数据库,ajax,symfony,jquery-select2,Ajax,Symfony,Jquery Select2,我正在从事一个symfony项目(也使用Doctrine),我想在其中一个页面上实施交错搜索,例如: 用户在第一个select2框(通过Ajax从DB中提取数据)中搜索作者,一旦选择了一个项目,就会出现第二个select2框,名为title,我只想显示属于所选作者的标题 以下是初始框的控制器端代码(Ajax和controller)。你知道如何为第二个select2构造查询吗 与初始select2相关的部分,用于查询数据库中的结果和自动建议项: public function searchAjax
public function searchAjaxAuthorAction()
{
$em = $this->getDoctrine()->getManager();
$term = $this->get('request')->query->get('term');
$limit = $this->get('request')->query->get('page_limit', 1);
$rep = $em->getRepository('StephenPersianArtBundle:Main');
if($term){
$entities = $rep->createQueryBuilder('m')
->where('m.orig_author LIKE ?1')
->orderBy('m.orig_author', 'ASC')
->setParameter('1','%'.$term.'%')
->getQuery();
}else{
$entities = $rep->createQueryBuilder('m')
->groupBy('m.orig_author')
->getQuery();
}
$entities = $entities->execute();
$resultset = array();
foreach($entities as $entity){
if($entity->getOrigAuthor()){
$resultset[] = array(
//'id' => $entity->getId(),
'id' => $entity->getOrigAuthor(),
'text' => $entity->getOrigAuthor()
);
}
}
$return = json_encode($resultset);//jscon encode the array
return new Response($return,200,array('Content-Type'=>'application/json'));
}
还有一个与此相关的部分,它基本上是基于在SCORTT2中选择的项将数据加载到表中,但我不认为这与我所面临的问题相关,因为在最终查询完成之前所有这些都在发生。 任何帮助都将不胜感激