Merhaba arkadaşlar. Elimde (id,userid,videoid) şeklinde hazırlanmış bir like sistemi var. En çok beğenilenleri listelemek istiyorum ancak bir türlü beceremedim :D
Yol gösterecek bir arkadaş var mı acaba?
Laravel count ve order by ilişkisi? |
5 Mesajlar | 1.283 Okunma |
DB::table('videos v')
->join('likes l', 'v.id', '=', 'l.videoid')
->join('users u','u.id','=','v.userid')
->orderBy('count(l.videoid)', 'desc')
->groupBy('l.videoid')
->select('v.name', 'u.name')
->get();
DB::table('videos v')
->join('likes l', 'v.id', '=', 'l.videoid')
->join('users u','u.id','=','v.userid')
->orderBy('count(l.videoid)', 'desc')
->groupBy('l.videoid')
->select('v.name', 'u.name')
->get();
$limit = 50;
DB::table('videos v')
->join('likes l', 'v.id', '=', 'l.videoid')
->join('users u','u.id','=','v.userid')
->select(DB::raw('u.name, v.name,COUNT(*) AS total_videos'))
->orderBy('total_videos', 'DESC'))
->groupBy('v.id')
->take($limit)
->get();
$limit = 50;
DB::table('videos v')
->join('likes l', 'v.id', '=', 'l.videoid')
->join('users u','u.id','=','v.userid')
->select(DB::raw('u.name, v.name,COUNT(*) AS total_videos'))
->orderBy('total_videos', 'DESC'))
->groupBy('v.id')
->take($limit)
->get();