gpt4 book ai didi

recursion - 在 Laravel 中使用 Baum 显示分层树/在 Laravel 中使用递归函数

转载 作者:行者123 更新时间:2023-12-01 11:38:32 26 4
gpt4 key购买 nike

所以我刚刚在 Laravel 中安装了 Baum 包,并将一个小的类别树放在一起。

我已经能够使用 getDependentsAndSelf() 方法以嵌套的 JSON 格式显示树,但我不知道如何使用 laravel 以可用的格式实际显示它。

理想情况下,我只是想以缩进列表格式将它们吐出,但我觉得这可能需要一些递归,我不知道如何在 Laravel 中做到这一点。

这是我现在的输出:

 {"14":{"id":14,"parent_id":null,"name":"Root","lft":1,"rgt":6,"depth":0,"children":[{"id":15,"parent_id":14,"name":"Child 1","lft":2,"rgt":5,"depth":1,"children":[{"id":16,"parent_id":15,"name":"Child 2","lft":3,"rgt":4,"depth":2,"children":[]}]}]}}

本质上它只是一个格式树

- Root
- Child 1
- Child 2

那么在 Laravel 中最好的方法是什么?在 php 中,我可以只创建一个递归自身的函数,但我不确定如何在我的 laravel View 中执行此操作。

最佳答案

您可以使用此处描述的方法:https://gist.github.com/etrepat/6920301

<?php

$roots = Category::roots()->get();

echo "<ul>";
foreach($roots as $root) renderNode($root);
echo "</ul>";

// *Very simple* recursive rendering function
function renderNode($node) {
echo "<li>";
echo "<b>{$node->name}</b>";

if ( $node->children()->count() > 0 ) {
echo "<ul>";
foreach($node->children as $child) renderNode($child);
echo "</ul>";
}

echo "</li>";

}

关于recursion - 在 Laravel 中使用 Baum 显示分层树/在 Laravel 中使用递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714408/

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