我的表中有一个名为“语言”的字段。在这里,不同的用户用不同的语言提交了他们的问题,比如java(56) 5次,CPP(45) 7次,python(71) 10次。
我想用laravel查询一个有说服力的查询,这样它就可以返回一个数组,或者使用键值对作为
$user_lang = ['56'=>5,'45'=>7,'71'=>10]
这里有56,45,71种语言。
发布于 2022-09-30 06:37:52
如果您已经准备了数据,如计数多少次,您可以简单地使用拔取方法。例如
$user_lang = Language::where(<condition>)->pluck('times', 'id');它将按您的要求返回数组。
如果您没有准备好的计数,那么使用group计数,然后简单地使用相同的提取方法。
发布于 2022-09-30 06:41:17
$result = Submission::selectRaw('id', 'COUNT(DISTINCT id) AS times'))
->groupBy(id)
->get();
$user_lang = [];
$result->map($result, function($item){
$user_lang[$item->id] = $item->times;
});https://stackoverflow.com/questions/73904759
复制相似问题