Laravel从嵌套关系中拔出一个数组

aru*_*run 3 laravel

我只需roomnumber要从以下查询返回的数组:

$roomnumbers = Room::with(['floorroomcount' => function($query){
                $query->with('roomnumber')->get();
        }])->where('roomtype_id', $roomtype_id)->get();
Run Code Online (Sandbox Code Playgroud)

尝试:以下采摘正在回归 floorroomcount

$roomnumbers->pluck('floorroomcount');
Run Code Online (Sandbox Code Playgroud)

但我需要roomnumber阵列,我怎么能得到?

Jon*_*eir 9

这将为您提供roomnumber一个集合中的所有结果:

$roomnumbers->pluck('floorroomcount')->collapse()->pluck('roomnumber')->collapse();
Run Code Online (Sandbox Code Playgroud)


Ste*_*ütt 6

您可以像这样缩短@Jonas Staudenmeir 的回答:

$roomnumbers->pluck('floorroomcount.*.roomnumber.*')->collapse();
Run Code Online (Sandbox Code Playgroud)

pluck('*')本质上与collapse()此特定上下文中的相同。