我正在Symfony2中处理Web应用程序。目前,我有几个页面,其中包含一个搜索表单,您可以在其中搜索属于该页面的特定实体。
例如;我有一个客户页面,其中包含客户信息的概述。在这里,您可以搜索名称与搜索值相似的客户。那我认为没有火箭科学。
在首页我想以某种方式一次搜索我的所有实体。我正在考虑结合我已经拥有的搜索,或者Symfony中有一个允许这样做的功能?
这是我目前为止搜索的部分代码:
为客户提供实时搜索操作:
$export_info['exporter']->set_headers($export_name);
存储库函数findByLetters:
public function liveSearchAction(Request $request)
{
$string = $this->getRequest()->request->get('sQuery');
$clients = $this->getDoctrine()
->getRepository('clientsBundle:client')
->findByLetters($string);
$response = new JsonResponse(array('clients' => $clients));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
返回搜索结果的AJAX调用
public function findByLetters($string){
$query = $this->getEntityManager()
->createQuery(
'SELECT c FROM clientsBundle:client c
WHERE c.name LIKE :string'
)->setParameter('string', '%'.$string.'%');
$result = $query->getArrayResult();
return $result;
}
您可能已经注意到,AJAX调用的返回由把手处理。