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");