Laravel Eloquent:同一数据库请求中的计数和比率

Laravel Eloquent:同一数据库请求中的计数和比率,laravel,eloquent,Laravel,Eloquent,亲爱的专家,我想在以下方面得到您的帮助 我想在同一查询中发送仪表板中每个类别的名称、计数和比率(此状态的计数与同一类别的帖子总数之比) 使用以下内容,我可以返回名称count,但我不知道如何计算比率。谢谢你的帮助 //Top claim solved by category $solvedByCategoryCollection = Post::join('categories', 'categories.id', '=', 'posts.category_id') ->

亲爱的专家,我想在以下方面得到您的帮助

我想在同一查询中发送仪表板中每个类别的名称、计数和比率(此状态的计数与同一类别的帖子总数之比)

使用以下内容,我可以返回名称count,但我不知道如何计算比率。谢谢你的帮助

//Top claim solved by category

    $solvedByCategoryCollection = Post::join('categories', 'categories.id', '=', 'posts.category_id')
    ->groupBy('categories.id')
    ->where('posts.status_id', '3')
    ->get(['categories.id', 'categories.name', DB::raw('count(categories.id) as count')]);
这样行吗

//Top claim solved by category

$solvedByCategoryCollection = Post::join('categories', 'categories.id', '=', 'posts.category_id')
->groupBy('categories.id')
->where('posts.status_id', '3')
->get([
    'categories.id',
    'categories.name',
    DB::raw('count(categories.id) as count'),
    DB::raw(sprintf('(count(*)/(%s) ) as ratio', Post::select(DB::raw('COUNT(*)'))->toSql()))
]);

请提供更多关于数据库请求和模式的数据…只是发现了一个小问题,实际上比率应该是TotalSolvedInThisCategory/TotalSubmittedToftHisCategory。在这种情况下,我不知道如何在一个查询中实现这一点,而是两个查询:一个用于获取每个已解决类别的计数,另一个用于获取已提交的计数。在这两次查询之后,您可以生成所需的数据,并使用仪表板相关功能进行破解。谢谢@Adrian。当然,这是唯一的办法。