2017-08-09 79 views
0

大家好我是Symfony3的新手,我对DQL的请求有问题,它返回空结果! 该请求必须从SearchBar返回具有特定字段的所有Logements!搜索功能symfony 3

LogementController:

public function searchAction(request $request) 
{ 

    $log = $request->request->get('browser'); 
    $cat = $request->request->get('checkbox_type_1'); 
    $vil = $request->request->get('location[]'); 


    $q = $this->getDoctrine()->getManager() 
     ->getRepository('AcmeImmoBundle:Logement') 
     ->createQueryBuilder('A'); 

    $q ->leftJoin('A.categorie', 'C') 
     ->addselect('C') 


     ->leftJoin('A.district', 'D') 
     ->addselect('D')  
     ->leftJoin('D.ville', 'V') 
     ->addselect('V') 
     ->where($q->expr()->eq('A.logementname', ':log')) 
     ->andWhere($q->expr()->eq('C.categorietype', ':cat')) 

     ->andWhere($q->expr()->eq('V.villename', ':vil')) 
     ->setParameters(array('log' => $log,'cat' => $cat,'vil' => $vil)); 

$logement = $q->getQuery()->getResult(); 
      return $this->render('logement/search.html.twig', array(
           'logements' => $logement)); 
} 
+0

如果您需要更多信息,只需索取它,谢谢帮助! –

回答

0

它实际上哈特了解问题没有结构。一些虚拟的数据部分会有帮助。你

也可以尝试运行

$q->getQuery()->getSQL() 

,并检查生成的SQL查询。

还有一件事。请不要在控制器中构建查询,这会使代码难以阅读。例如,您可以定义定制存储库类,并在那里定义一个方法来组装查询生成器

+0

ПавелМатвиенкоПавелМатвиенко谢谢你我尝试在存储库中定义querybuilder,我应该发布什么更多的理解(实体,树枝,存储库)! –