我有一个名为 generalmembers 的表。我有一个要分组的 designation_name 列。
我面临的问题是我使用了雄辩的关系,该关系基于ID带来结果,
$generalmembers = Generalpresident::findOrFail($id)->generalmembers;
上面的查询为我提供了结果,但是如何根据designation_name将结果分组
@foreach ($generalmembers as $generalmember)
<tr>
<td>
{{$generalmember->first_name}}
</td>
<td>
{{$generalmember->generaldesignations->designation_name}}
</td>
</tr>
@endforeach
关系:
class Generalpresident extends Model
{
public function generalmembers(){
return $this->hasMany('App\Generalmembers', 'president_id' , 'id');
}
}
class Generalmembers extends Model
{
public function generalpresidents(){
return $this->belongsTo('App\Generalpresident','president_id');
}
}
我该怎么做?
答案 0 :(得分:0)
尝试:
$generalmembers = Generalpresident::findOrFail($id)->generalmembers()->groupBy('designation_name');
答案 1 :(得分:0)
如果需要多个项目,则应使用此选项:
$generalmembers = Generalpresident::with('generalmembers')
->where('id','=', $id)
->groupBy('designation_name')
->get();
答案 2 :(得分:0)
尝试:
Generalmembers::whereHas('generalpresidents',function($q){
$q->where('id',2);
})->select('designation_name')->groupBy('designation_name)->get();
答案 3 :(得分:0)
感谢所有花时间回答我的问题的人。对此,我真的非常感激。
我确实找到了一种解决方法,而不是在控制器上工作,而是将它带到了刀片服务器上。
@foreach ($generalmembers->groupby('designation_name') as $generalmember)
@foreach ($generalmember as $item)
{{$item->first_name}}
@endforeach
@endforeach
如果建议您这样做,我将不胜感激。