2017-05-10 58 views
1

我想通过“licencie_id”在我的搜索功能上对结果进行分组,但当我置“Group By”条件时出现异常。Group by Eloquent查询Foreach中查看

属性[id]在此收集实例中不存在。

我已经做到了这一点,如:

$designations = $query->paginate(10)->groupBy('licencie_id'); 

当我调试,我得到:

@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 

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 ▶} 
    ] 
} 

我现在想在我看来像显示此集合

我在哪里做错了?

回答

2

你作出错误的查询生成器,雄辩ORM statments必须PAGINATE前:

$designations = $query->groupBy('licencie_id')->paginate(10) 

顺便说,读Laravel pagination docs你可以发现:

目前,分页操作是由Laravel使用groupBy语句不能有效地执行 。如果您需要使用 分页结果集的groupBy,建议您查询数据库 并手动创建分页符。

这意味着东西不与分页加上GROUPBY运作良好,我几乎不建议您使用跳过它们放在一起,如果你想跳过意外的行为。

+0

感谢您的回答我删除了分页方法!现在我得到:调用未定义的方法照亮\数据库\查询\生成器:: isEmpty() –

+0

@MathieuMourareau然后,如果这个问题得到解答,现在是时候写一个关于你的新问题的新问题,解释细节:) – Troyer

+0

我有这个以前例外,你能帮助我吗? –