lou*_*sav 1 php model laravel eloquent
我有一个Level列,需要计算每个列的数量.
哪些选项更快/更有效?为什么?或者也许是一个我没考虑过的更快的方法?
$athletes = Athlete::orderBy('level', 'desc')->get();
foreach ($athletes as $a) {
switch ($a->level) {
case "advanced":
$dataAdvanced += 1;
break;
case "intermediate":
$dataIntermediate += 1;
break;
case "medium":
$dataMedium += 1;
break;
case "beginner":
$dataBeginner += 1;
break;
case "other":
$dataOther += 1;
break;
}
Run Code Online (Sandbox Code Playgroud)
要么
$dataAdvanced = Athlete::where('level', 'advanced')->count();
$dataIntermediate = Athlete::where('level', 'intermediate')->count();
$dataMedium = Athlete::where('level', 'medium')->count();
$dataBeginner = Athlete::where('level', 'beginner')->count();
$dataOther = Athlete::where('level', 'other')->count();
Run Code Online (Sandbox Code Playgroud)
If your table name is athletes, note: use DB in controller
$athletesInfo = DB::table('athletes')
->select('level', DB::raw('count(*) as total'))
->groupBy('level')
->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |