cómo cambiar el valor nulo a cero

Sep 24 2020

los valores de las columnas vacías devuelven nulo. Cómo hago para convertir el nulo en cero para que si el valor es nulo devuelva cero.

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

todavía devuelve nulo.

Respuestas

2 OMR Sep 24 2020 at 17:29

en vez de:

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

puede usar COALESCE que devuelve el primer valor no nulo

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