|
@@ -95,11 +95,14 @@ class WebController extends Controller
|
|
|
$randomIds = $this->getDoctrine()->getConnection()->fetchAll('SELECT id FROM package ORDER BY RAND() LIMIT 10');
|
|
|
$random = $pkgRepo->createQueryBuilder('p')->where('p.id IN (:ids)')->setParameter('ids', $randomIds)->getQuery()->getResult();
|
|
|
try {
|
|
|
+ $popular = array();
|
|
|
$popularIds = $this->get('snc_redis.default')->zrevrange('downloads:trending', 0, 9);
|
|
|
- $popular = $pkgRepo->createQueryBuilder('p')->where('p.id IN (:ids)')->setParameter('ids', $popularIds)->getQuery()->getResult();
|
|
|
- usort($popular, function ($a, $b) use ($popularIds) {
|
|
|
- return array_search($a->getId(), $popularIds) > array_search($b->getId(), $popularIds) ? 1 : -1;
|
|
|
- });
|
|
|
+ if ($popularIds){
|
|
|
+ $popular = $pkgRepo->createQueryBuilder('p')->where('p.id IN (:ids)')->setParameter('ids', $popularIds)->getQuery()->getResult();
|
|
|
+ usort($popular, function ($a, $b) use ($popularIds) {
|
|
|
+ return array_search($a->getId(), $popularIds) > array_search($b->getId(), $popularIds) ? 1 : -1;
|
|
|
+ });
|
|
|
+ }
|
|
|
} catch (ConnectionException $e) {
|
|
|
$popular = array();
|
|
|
}
|