我想将结果分组为" licencie_id"在我的搜索功能上但是当我把" Group By"条件。
此集合实例上不存在Property [id]。
我这样做了:
$designations = $query->paginate(10)->groupBy('licencie_id');
当我调试时,我得到:
Collection {#979 ▼
#items: array:3 [▼
125 => Collection {#1010 ▼
#items: array:2 [▼
0 => RencontreOfficiel {#975 ▶}
1 => RencontreOfficiel {#1006 ▶}
]
}
131 => Collection {#998 ▼
#items: array:1 [▶]
}
134 => Collection {#1013 ▶}
]
}
我现在想在我的视图中显示这个集合,如:
@foreach($designations as $designation)
<tr>
<td><a href="{!! route('designation.show', $designation->id) !!}">{{$designation->id}}</a></td>
<td>{{$designation->rencontre->compet->categorie_compet->lb_categorie_compet}}</td>
<td>{{$designation->rencontre->compet->lb_compet}}</td>
<td>{{$designation->fonction_officiel->lb_fonction}}</td>
<td>{{$designation->rencontre->dt_rencontre}} {{$designation->rencontre->time_rencontre}}</td>
<td>{{$designation->rencontre->equipe_domicile->lb_equipe}}</td>
<td>{{$designation->rencontre->equipe_visiteur->lb_equipe}}</td>
<td>{{$designation->licence->lb_nom}} {{$designation->licence->lb_prenom}}</td>
<td>{{$designation->bareme->lb_bareme}}</td>
<td>{{$designation->nm_distance}}</td>
<td>{{$designation->mt_indemnite_km}}</td>
<td>{{$designation->bareme->mt_prime}}</td>
<td>{{$designation->statut_officiel}}</td>
</tr>
@endforeach
我做错了什么?
答案 0 :(得分:2)
您查询构建器出错了,Eloquent ORM语句必须在分页符之前:
$designations = $query->groupBy('licencie_id')->paginate(10)
顺便说一句,阅读Laravel pagination docs,你可以找到:
目前,使用groupBy语句的分页操作不能 由Laravel有效执行。如果你需要使用groupBy 在分页结果集中,建议您查询数据库 并手动创建一个分页器。
这意味着分页加上一个组合不太好,如果你想跳过不想要的行为,我几乎不建议你一起跳过它们。