Arrays 数组类别子类别

Arrays 数组类别子类别,arrays,perl,Arrays,Perl,我有这个类别和子类别表 对于parent\u id值为NULL的字段是一个类别,使用parent\u id的字段是子类别 +----+---------------------+-----------+ | id | name | parent_id | +----+---------------------+-----------+ | 1 | Laptop | NULL | | 2 | TV

我有这个类别和子类别表

对于
parent\u id
值为
NULL
的字段是一个类别,使用
parent\u id
的字段是子类别

+----+---------------------+-----------+
| id | name                | parent_id |
+----+---------------------+-----------+
|  1 | Laptop              |      NULL |
|  2 | TV                  |      NULL |
|  3 | Tablet & Mobile     |      NULL |
|  4 | PC                  |      NULL |
|  5 | Laptops             |         1 |
|  6 | Laptop accessories  |         1 |
|  7 | TV accessories      |         2 |
我的树状视图只为类别指定了子类别,因此子类别没有子类别

+----+---------------------+-----------+
| id | name                | parent_id |
+----+---------------------+-----------+
|  1 | Laptop              |      NULL |
|  2 | TV                  |      NULL |
|  3 | Tablet & Mobile     |      NULL |
|  4 | PC                  |      NULL |
|  5 | Laptops             |         1 |
|  6 | Laptop accessories  |         1 |
|  7 | TV accessories      |         2 |
如果我做一个
选择*
并在
的同时添加
,我会得到以下数组

'category' => [
              {
                'name' => 'Laptop',
                'id' => '1',
                'parent_id' => undef
              },
              {
                'name' => 'TV',
                'id' => '2',
                'parent_id' => undef
              },
              {
                'name' => 'Table & mobile',
                'id' => '3',
                'parent_id' => undef
              },
              {
                'name' => 'PC',
                'id' => '4',
                'parent_id' => undef
              },
              {
                'name' => 'Laptops',
                'id' => '5',
                'parent_id' => '1'
              },
              {
                'name' => 'Laptop accessories ',
                'id' => '6',
                'parent_id' => '1'
              },
              {
                'name' => 'TV accessories',
                'id' => '7',
                'parent_id' => '2'
              }
我要找的结构应该是这样的

category 1
-- subcategory 1.1
-- subcategory 1.2
category 2
-- subcategory 2.1
我现在得到的看起来像

category 1
subcategory 1.1
category 2
subcategory 1.2
subcategory 2.1

展示你的尝试。在您想要的结构中,子类别(以及主要的无父类别)是按id、名称排序还是按无序排序?如果看不到代码,我们无法告诉您出了什么问题。数据输出看起来就在那里。@ChrisTurner对不起,我没说具体的。数据输出不是问题所在。我只是显示了我到目前为止所拥有的,我将编辑并添加
,而
是我用来在查询后查看记录的。至于我为新结构编写的代码,有些是用perl编写的,有些是用vue.js编写的,有些是用sql编写的。当我确信我失败时,我删除了并尝试了另一种途径,但在看到@choroba发布的内容后,我甚至都不知道他的答案,这正是我所需要的。@John:提示:choroba的帖子也不是你想要的。在Perl、Vue和SQL上喷洒您的尝试,希望看到正确的结果,这将使您陷入困境,有太多的bug,您不知道该去哪里查找。您甚至没有告诉我们您使用的是什么数据库引擎或HTTP服务器。这是一个CGI应用程序吗?我必须首先研究“grep”(我在perl方面不是很好),但它确实做到了我想要的。非常感谢你。