【问题标题】:how to change null value to zero如何将空值更改为零
【发布时间】:2021-01-10 15:04:32
【问题描述】:

为空的列的值返回 null。如何将 null 设为零,以便如果值为 null 则返回零。

 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。

【问题讨论】:

  • 你试过了吗?我认为这是同一个问题。 stackoverflow.com/questions/36153019/use-ifnull-in-laravel/…
  • 这是一个常见问题解答。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。如果您发布问题,请使用一个措辞作为标题。

标签: php laravel join null left-join


【解决方案1】:

代替:

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

你可以使用COALESCE女巫返回第一个非空值

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多