|
@@ -327,20 +327,9 @@ class ElementSearcherQueryBuilder
|
327
|
327
|
// On récupère les ids d'éléments
|
328
|
328
|
if (!$this->es->hasIds())
|
329
|
329
|
{
|
330
|
|
-
|
331
|
|
-// $query = $this->getIdsQuery();
|
332
|
|
-//
|
333
|
|
-//
|
334
|
|
-// var_dump($this->em->getRepository('MuzichCoreBundle:Element')->findBySearchOLD(
|
335
|
|
-// $this->es, $this->user_id, 'count', $this->builder_params
|
336
|
|
-// )->getDql()
|
337
|
|
-//
|
338
|
|
-// );
|
339
|
|
-// die(var_dump($this->getIdsQuery()->getArrayResult()));
|
340
|
|
-
|
341
|
330
|
// On va récupérer les ids en base en fonction des paramètres
|
342
|
331
|
$q_ids = $this->getIdsQuery()->getArrayResult();
|
343
|
|
-
|
|
332
|
+ $element_ids = array();
|
344
|
333
|
if (count($q_ids))
|
345
|
334
|
{
|
346
|
335
|
// On prépare les ids pour la requete des éléments
|
|
@@ -359,9 +348,7 @@ class ElementSearcherQueryBuilder
|
359
|
348
|
if (!count($element_ids))
|
360
|
349
|
{
|
361
|
350
|
// Si on a pas d'ids on retourne une requete qui ne donnera rien
|
362
|
|
- return $this->getEntityManager()
|
363
|
|
- ->createQuery("SELECT e FROM MuzichCoreBundle:Element e WHERE 1 = 2")
|
364
|
|
- ;
|
|
351
|
+ return false;
|
365
|
352
|
}
|
366
|
353
|
|
367
|
354
|
// On prépare des paramètres de la requete d'éléments
|
|
@@ -384,13 +371,14 @@ class ElementSearcherQueryBuilder
|
384
|
371
|
->addOrderBy("e.id", 'DESC')
|
385
|
372
|
;
|
386
|
373
|
|
387
|
|
- // Ce cas de figure se présente lorsque l'on fait un ajax de "plus d'éléments"
|
388
|
|
- if (($id_limit = $this->es->getIdLimit()))
|
389
|
|
- {
|
390
|
|
- $this->query_elements->andWhere("e.id < :id_limit");
|
391
|
|
- $this->query_elements->setMaxResults($this->es->getCount());
|
392
|
|
- $this->parameters_elements['id_limit'] = $id_limit;
|
393
|
|
- }
|
|
374
|
+ // Ce code est désactivé: Les ids ont déjà été filtré par la id_query.
|
|
375
|
+// // Ce cas de figure se présente lorsque l'on fait un ajax de "plus d'éléments"
|
|
376
|
+// if (($id_limit = $this->es->getIdLimit()))
|
|
377
|
+// {
|
|
378
|
+// $this->query_elements->andWhere("e.id < :id_limit");
|
|
379
|
+// $this->query_elements->setMaxResults($this->es->getCount());
|
|
380
|
+// $this->parameters_elements['id_limit'] = $id_limit;
|
|
381
|
+// }
|
394
|
382
|
|
395
|
383
|
// Lorsque l'on impose les ids (typiquement affichage des éléments avec un commentaire etc)
|
396
|
384
|
// On charge les tags proposés dés la requete pour économiser les échanges avec la bdd
|
|
@@ -405,16 +393,17 @@ class ElementSearcherQueryBuilder
|
405
|
393
|
}
|
406
|
394
|
|
407
|
395
|
$this->query_elements->setParameters($this->parameters_elements);
|
408
|
|
-
|
409
|
|
-// die(var_dump(count($this->query_elements->getQuery()->getResult())));
|
410
|
|
-//
|
411
|
|
-// var_dump($element_ids);
|
412
|
|
-// die(var_dump($this->query_elements->getQuery()->getParameters()));
|
413
|
396
|
}
|
414
|
397
|
|
415
|
398
|
public function getElementsQuery()
|
416
|
399
|
{
|
417
|
|
- $this->proceedElementsQuery();
|
|
400
|
+ if ($this->proceedElementsQuery() === false)
|
|
401
|
+ {
|
|
402
|
+ return $this->em
|
|
403
|
+ ->createQuery("SELECT e FROM MuzichCoreBundle:Element e WHERE 1 = 2")
|
|
404
|
+ ;
|
|
405
|
+ }
|
|
406
|
+
|
418
|
407
|
return $this->query_elements->getQuery();
|
419
|
408
|
}
|
420
|
409
|
|