|
@@ -53,9 +53,9 @@ class ElementRepository extends EntityRepository
|
53
|
53
|
|
54
|
54
|
if (($id_limit = $searcher->getIdLimit()))
|
55
|
55
|
{
|
56
|
|
- return $this->getSelectElementForSearchQuery($params_select, $user_id, $searcher->getIds(), $id_limit, $searcher->getCount());
|
|
56
|
+ return $this->getSelectElementForSearchQuery($params_select, $user_id, $searcher->getIds(), $id_limit, $searcher->getCount(), $searcher->getIdsDisplay());
|
57
|
57
|
}
|
58
|
|
- return $this->getSelectElementForSearchQuery($params_select, $user_id, $searcher->getIds());
|
|
58
|
+ return $this->getSelectElementForSearchQuery($params_select, $user_id, $searcher->getIds(), null, null, $searcher->getIdsDisplay());
|
59
|
59
|
}
|
60
|
60
|
|
61
|
61
|
|
|
@@ -232,7 +232,7 @@ class ElementRepository extends EntityRepository
|
232
|
232
|
;
|
233
|
233
|
}
|
234
|
234
|
|
235
|
|
- protected function getSelectElementForSearchQuery($params_select, $user_id, $ids, $id_limit = null, $count_limit = null)
|
|
235
|
+ protected function getSelectElementForSearchQuery($params_select, $user_id, $ids, $id_limit = null, $count_limit = null, $ids_display = null)
|
236
|
236
|
{
|
237
|
237
|
$where = "";
|
238
|
238
|
if ($id_limit)
|
|
@@ -240,14 +240,23 @@ class ElementRepository extends EntityRepository
|
240
|
240
|
$where = "AND e.id < :id_limit";
|
241
|
241
|
$params_select['id_limit'] = $id_limit;
|
242
|
242
|
}
|
|
243
|
+
|
|
244
|
+ $select = '';
|
|
245
|
+ $left_join = '';
|
|
246
|
+ if ($ids_display)
|
|
247
|
+ {
|
|
248
|
+ $select = ', tp, tpu, tpt';
|
|
249
|
+ $left_join = 'LEFT JOIN e.tags_propositions tp LEFT JOIN tp.user tpu LEFT JOIN tp.tags tpt';
|
|
250
|
+ }
|
243
|
251
|
|
244
|
252
|
// C'est la requête qui récupérera les données element avec ses jointures.
|
245
|
|
- $query_select = "SELECT e, t, o, g, fav
|
|
253
|
+ $query_select = "SELECT e, t, o, g, fav $select
|
246
|
254
|
FROM MuzichCoreBundle:Element e
|
247
|
255
|
LEFT JOIN e.group g
|
248
|
256
|
LEFT JOIN e.tags t WITH (t.tomoderate = 'FALSE' OR t.tomoderate IS NULL
|
249
|
257
|
OR t.privateids LIKE :uidt)
|
250
|
258
|
LEFT JOIN e.elements_favorites fav WITH fav.user = :uid
|
|
259
|
+ $left_join
|
251
|
260
|
JOIN e.owner o
|
252
|
261
|
WHERE e.id IN (:ids) $where
|
253
|
262
|
ORDER BY e.created DESC, e.id DESC"
|