首页 > 解决方案 > 在嵌套对象中排序和显示数据 - laravel

问题描述

嗨我有打印数组对象的问题。我想按照预期结果对整个记录进行排序。

    object:
     "name":1,
     "id":1,
         "occ":  [{  
             "accomadates":1},

                 {  
             "accomadates":2}
     {  
             "accomadates":3}],
   "name":2,
     "id":2,
         "occ":  [{  
             "accomadates":2},

                 {  
             "accomadates":3}
                 }],

现在它的打印如下:

id 1 :accomadates  1
id 1 :accomadates  2
id 1 :accomadates  3
id 2 :accomadates  2
id 2 :accomadates  3

预期结果:

id 1 :accomadates  1
id 2 :accomadates  1
id 1 :accomadates  2
id 1 :accomadates  3
id 2 :accomadates  3

我可以在 Laravel 中做吗?请帮助我。谢谢你们

编辑:

//this is how i print using foreach loop

@foreach($ojects as $object)

   @foreach(object->occ as $occ)
      id {{$oject->name}} :accomadates  {{$occ->accomadates}} 
   @endforeach
<br>
@endforeach

我想打印完全一样:

id 1 :accomadates  1
id 2 :accomadates  1
id 1 :accomadates  2
id 1 :accomadates  3
id 2 :accomadates  3

标签: arraysobjectlaravel-5

解决方案


尝试使用将数组转换为集合

$c = collect($c);

并且按属性排序是这样的:

$sorted = $c->sortBy('id');

如果您希望结果是一个数组,请使用

$c = $c->toArray();

将集合转换回数组


推荐阅读