我想选择为每个项目获得的票数。下面的查询工作正常,但如果某个项目没有投票权,则该项目不会显示在结果中。我实际上想要每个项目和票数的详细信息。如果某个项目没有投票权,则应将其显示为0。
我怎样才能做到?

DB::table('wonders')
        ->leftjoin('vote','votes.wonderId','=','wonders.id')
        ->select('wonders.id','wonders.title',DB::raw('count(votes.vote) as votes'))
        ->get();

最佳答案

试试这个

DB::table('wonders')
            ->leftjoin('vote','votes.wonderId','=','wonders.id')
            ->select('wonders.id','wonders.title',DB::raw('ifnull(count(votes.vote),0) as votes'))
            ->groupBy('wonders.id')
            ->get();

09-10 08:52