cách thay đổi giá trị null thành 0
Sep 24 2020
giá trị của các cột trống sẽ trả về giá trị rỗng. Làm cách nào để biến null thành 0 để nếu giá trị là null thì nó sẽ trả về 0.
public function getThumbsUpAttribute($value){ return $value !== null ? $value : 0; } public function videos() { // return VideoViewsLikes::all(); $rec_videos = Videos::orderBy('videos.created_at', 'DESC')->where('videos.publish', 1)
->leftJoin('video_views_likes', 'videos.vid_id', '=', 'video_views_likes.vid_id')
->select('videos.vid_id', 'videos.title as title', DB::raw("sum(video_views_likes.thumbs_down) as dislike"), DB::raw("sum(video_views_likes.views) as views"), DB::raw("sum(video_views_likes.thumbs_up) as likes"))
->groupby('videos.vid_id')
->groupby('videos.title')
->get();
return response()->json(['success' => $rec_videos]);
}
nó vẫn trả về null.
Trả lời
2 OMR Sep 24 2020 at 17:29
thay vì:
DB::raw("sum(video_views_likes.thumbs_down) as dislike");
bạn có thể sử dụng phù thủy COALESCE Trả về giá trị không rỗng đầu tiên
DB::raw(" COALESCE(sum(video_views_likes.thumbs_down),0) as dislike");