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