null 값을 0으로 변경하는 방법
Sep 24 2020
비어있는 열 값은 null을 반환합니다. 값이 null이면 0을 반환하도록 null을 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]);
}
여전히 null을 반환합니다.
답변
2 OMR Sep 24 2020 at 17:29
대신에:
DB::raw("sum(video_views_likes.thumbs_down) as dislike");
COALESCE 마녀 를 사용할 수 있습니다. null이 아닌 첫 번째 값을 반환합니다.
DB::raw(" COALESCE(sum(video_views_likes.thumbs_down),0) as dislike");