Laravel-从多对多表获取计数
因此,我想为一名员工统计不同阶段的所有项目($id)。比如: 排队-3 进行中-7 发射-5 我有一个项目表、一个员工表和一个员工项目表 如何为特定员工获得项目的阶段?这不起作用,因为它列出了每个状态,旁边只有1个:Laravel-从多对多表获取计数,laravel,count,many-to-many,Laravel,Count,Many To Many,因此,我想为一名员工统计不同阶段的所有项目($id)。比如: 排队-3 进行中-7 发射-5 我有一个项目表、一个员工表和一个员工项目表 如何为特定员工获得项目的阶段?这不起作用,因为它列出了每个状态,旁边只有1个: @foreach ($employee->projects as $project) <h3>{{ $project->stage }}</h3> <h3>{{ count($project->stage) }}&l
@foreach ($employee->projects as $project)
<h3>{{ $project->stage }}</h3>
<h3>{{ count($project->stage) }}</h3>
@endforeach
@foreach($employee->projectas$project)
{{$project->stage}
{{count($project->stage)}
@endforeach
有什么办法吗?您可以在员工模型中使用以下方法:
public function projectsByStage() {
return $this->belongsToMany('App\Project')->groupBy('stage');
}
这将按项目阶段对员工的项目进行分组
然后在你的刀片模板
@foreach ($employee->projectsByStage as $stage => $projects)
<h3>{{ $stage }}</h3>
<h3>{{ count($projects) }}</h3>
@endforeach
@foreach($employee->projectsByStage as$stage=>$projects)
{{$stage}
{{count($projects)}
@endforeach
编辑:
我想你不需要另一种方法。您可以直接执行以下操作:
@foreach ($employee->projects->groupBy('stage') as $stage => $projects)
<h3>{{ $stage }}</h3>
<h3>{{ count($projects) }}</h3>
@endforeach
@foreach($employee->projects->groupBy('stage')作为$stage=>$projects)
{{$stage}
{{count($projects)}
@endforeach