我正在使用Laravels查询构建器来检索带有一些过滤器选项的项目列表-我需要在此查询中进行计数:

        $f = DB::table('Likes')
            ->join('Freestyle', 'Likes.FreestyleID', '=', 'Freestyle.id')
            ->join('Beat', 'Freestyle.BeatId', '=', 'Beat.id')
            ->join('Track', 'Beat.TrackId', '=', 'Track.id')
            ->join('Genre', 'Track.GenreId', '=', 'Genre.id')
            ->select('Likes.freestyleID as likeFreestyleID', 'Freestyle.*', 'Beat.TrackId as UseMeForTrack',
    'Genre.id as GenreID')
            ->where('Freestyle.Active', '1')
            ->where('Freestyle.created_at', '>', "$dateScope")
            ->whereNull('Freestyle.deleted_at')
            ->whereIn('GenreID', $request->genre)
        ->first();


要计算“ FreestyleID”出现在点赞表中的次数。

这可能吗?返回的数据是完美的,我只需要一个freestyle所拥有的点赞次数,likes表中的FreestyleID为null。

最佳答案

像这样的东西:

$f = DB::table('Likes')
                ->join('Freestyle', 'Likes.FreestyleID', '=', 'Freestyle.id')
                ->join('Beat', 'Freestyle.BeatId', '=', 'Beat.id')
                ->join('Track', 'Beat.TrackId', '=', 'Track.id')
                ->join('Genre', 'Track.GenreId', '=', 'Genre.id')
                ->select('Likes.freestyleID as likeFreestyleID','count(Likes.FreestyleID)', 'Freestyle.*', 'Beat.TrackId as UseMeForTrack',
        'Genre.id as GenreID')
                ->where('Freestyle.Active', '1')
                ->where('Freestyle.created_at', '>', "$dateScope")
                ->whereNull('Freestyle.deleted_at')
                ->whereIn('GenreID', $request->genre)
            ->first();

关于php - Laravel查询生成器计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36081005/

10-12 17:25
查看更多