Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据id和父id属性对集合(或对象数组)排序_Php_Sql_Laravel_Algorithm_Sorting - Fatal编程技术网

Php 根据id和父id属性对集合(或对象数组)排序

Php 根据id和父id属性对集合(或对象数组)排序,php,sql,laravel,algorithm,sorting,Php,Sql,Laravel,Algorithm,Sorting,我在基于对象id和对象的父id属性对Laravel集合进行排序时遇到了一个问题 目前,我有以下格式的对象集合: Collection {#563 ▼ #items: array:20 [▼ 0 => Object {#546 ▶} 1 => Object {#544 ▶} 2 => Object {#540 ▶} 3 => Object {#542 ▶} 4 => Object {#541 ▶} 5 => O

我在基于对象id和对象的父id属性对Laravel集合进行排序时遇到了一个问题

目前,我有以下格式的对象集合:

Collection {#563 ▼
  #items: array:20 [▼
    0 => Object {#546 ▶}
    1 => Object {#544 ▶}
    2 => Object {#540 ▶}
    3 => Object {#542 ▶}
    4 => Object {#541 ▶}
    5 => Object {#536 ▶}
  ]
}
每个对象都具有以下属性:

#attributes: array:8 [▼
        "id" => "70"
        "name" => "Object Name 70"
        "parent_id" => "75"
      ]
我需要对集合进行排序,首先是父集合,然后是子集合。然后是父母和孩子。一个对象的父对象id为NULL。更像这样:

Parent
Child
Child
Parent
Parent
Child
Child
Child
Parent

按父id(从低到高)排序集合,如果父id相等,则按id(从低到高)排序集合


这种方法假设集合中的第一个元素应该是根父元素(父元素id为NULL的元素),并且为了使对象成为对象的父元素,父元素必须首先存在,因此父元素的id总是比其子元素的id低。

按父元素id(从低到高)对集合排序,如果父id相等,则按id(从低到高)


这种方法假设集合中的第一个元素应该是根父元素(父元素id为NULL的元素),并且为了使对象成为对象的父元素,父元素必须首先存在,因此父元素的id总是比其子元素的id低。

这里有一个有向图,恐怕您必须实现拓扑排序算法:使用
groupBy()
parent\u id
?您尝试了什么?:)请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。然而,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试,并遇到问题,您将有一个很好的示例来发布。两级排序是有很好的文档记录的。许多有用的树排序都有很好的文档记录。在提供可行的编码尝试时,您遇到了什么困难?您有一个有向图,恐怕您必须实现一个拓扑排序算法:
groupBy()
?您尝试了什么?:)请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。然而,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试,并遇到问题,您将有一个很好的示例来发布。两级排序是有很好的文档记录的。许多有用的树排序都有很好的文档记录。您在提供可行的编码尝试方面遇到了什么困难?