jak zmienić wartość null na zero

Sep 24 2020

wartości kolumn, które są puste, zwracają wartość null. Jak zmienić wartość null na zero, aby jeśli wartość była równa null, zwracała zero.

 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]);
}

nadal zwraca wartość null.

Odpowiedzi

2 OMR Sep 24 2020 at 17:29

zamiast:

 DB::raw("sum(video_views_likes.thumbs_down)  as dislike");

możesz użyć COALESCE witch Zwróć pierwszą wartość niezerową

 DB::raw(" COALESCE(sum(video_views_likes.thumbs_down),0)  as dislike");