Postingan lainnya
Yajra Datatable Laravel Join Multiple Table Error
[ASK] [HELP] ada yang pake yajra datatable disini utk laravel 5.4 ? gimana cara menampilkan data dengan relasi contohnya tabel post, like dan comment tetapi yg ditampilkan cuma jumlah recordnya doang, misal post ini jumlah like berapa, jumlah commentnya berapa. ane udah coba pakai join tetapi masih error dmana si jumlah like dan comment jadi sama hasilnya, barangkali ada yg pernah ngalamin mohon bantuannya, terima kasih. ini query yg ane gunakan :
$post = Post::with('user')->select([
'posts.id',
'posts.user_id',
'posts.content',
\DB::raw('count(comments.post_id) as numcomments'),
\DB::raw('count(likes.post_id) as numlikes'),
'posts.created_at'
])->join('comments','comments.post_id','=','posts.id')
->join('likes','likes.post_id','=','posts.id')
->groupBy(['posts.id','posts.user_id','comments.post_id','likes.post_id','posts.content','posts.created_at']);
return Datatables::of($post)->make(true);
0
1 Jawaban:
Jawaban Terpilih
solved menggunakan sub query..
$post = \DB::table("posts")
->select("posts.*",
\DB::raw("(SELECT users.name FROM users
WHERE users.id = posts.user_id
GROUP BY users.id,users.name) as postuser"),
\DB::raw("(SELECT count(comments.post_id) FROM comments
WHERE comments.post_id = posts.id
GROUP BY comments.post_id) as numcomments"),
\DB::raw("(SELECT count(likes.post_id) FROM likes
WHERE likes.post_id = posts.id
GROUP BY likes.post_id) as numlikes"))->get();
0