gpt4 book ai didi

php - 在父行之后排列子行

转载 作者:行者123 更新时间:2023-11-30 21:53:06 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,其中的表包含如下数据:

ID | name    | data  | ParentId
1 | somename| 435 | 0
2 | name2 | sample| 0
3 | child | sample| 1
...

我正在尝试编写一个查询,从该表中获取所有数据并将每个子/子项放在其父项之后。

示例:

1. somename | 435
1.1. child | sample
...

这可能吗?如果不使用查询,我可以使用 PHP 来完成吗(这是我在后端使用的语言)。

提前致谢。

最佳答案

如果您正在使用问题中标记的 laravel。在模型中,将关系定义为

用户.php

public function Child()
{
return $this->hasMany('App\User','ParentId');
}

public function Parent()
{
return $this->belongsTo('App\User','ParentId');
}

在 Controller 中,做

  public function allUsers(){
$users = User::with('Child')->get();
return $users
}

结果是

[{
"id": 1,
"name": "somename",
"ParentId": 0,
"child": [{
"id": 3,
"name": "child",
"ParentId": 1
}]
}, {
"id": 2,
"name": "name2",
"ParentId": 0,
"child": []
}, {
"id": 3,
"name": "child",
"ParentId": 1,
"child": []
}]

关于php - 在父行之后排列子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46336535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com