[英]Laravel 5.4 get relations from collection
这是修补的结果 我有下一个关于关系的雄辩查询,我想做的是从集合中获取“请求”数组,这可能吗?
$requests = Request_conversation::with(['solicitud', 'solicitud.reservation', 'solicitud.detail.subDetails'])->
where('readed', '=', 0)
->whereHas('solicitud', function($q)use($user){
$q->where('idUsuario','=', $user);
})
->skip($inicio)
->take($elementos)
->groupBy('solicitud')
->orderBy('created_at', 'DESC')->get();
您可以进行以下操作:
$requests = Request_conversation::with(['solicitud', 'solicitud.reservation', 'solicitud.detail.subDetails'])->
where('readed', '=', 0)
->whereHas('solicitud', function($q)use($user){
$q->where('idUsuario','=', $user);
})
->skip($inicio)
->take($elementos)
->groupBy('solicitud')
->orderBy('created_at', 'DESC')->get()->map(function($items){
return $items->solicitud;});
那么关于solicitud
关系,像$requests->solicitud
不会起作用,因为关系是单一模式,而不是它的集合。 所以,如果你想中检索solicitud
,需要迭代上$requests
。 您可能需要从查询中删除-> groupBy()
例如:
$solicituds = [];
foreach ($requests as $rq) {
$solicituds[] = $rq->solicitud;
}
要么
$solicituds = $requests->pluck('solicitud');
这将具有一组非唯一“请求”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.