为了账号安全,请及时绑定邮箱和手机立即绑定

JsTree 与 Laravel 的集成

JsTree 与 Laravel 的集成

PHP
蛊毒传说 2023-05-12 15:33:02
我有产品视图。我想添加到此视图类别树中。我想到了jsTree。我在我的项目中使用 Laravel 7 和 kalnoy/nestedset 和https://www.jstree.com小米迁移文件:Schema::create('categories', function (Blueprint $table) {            $table->id();            $table->string('category_name', 155);            $table->string('description', 155)->nullable();            $table->string('keywords', 155)->nullable();            $table->longText('content')->nullable();            $table->char('enable', 1)->default(0);            $table->string('photo', 155)->nullable();            $table->bigInteger('order')->default(0);            $table->string('slug', 160)->nullable();            NestedSet::columns($table);            $table->engine = "InnoDB";            $table->charset = 'utf8mb4';            $table->collation = 'utf8mb4_unicode_ci';        });在控制器中我有:public function categoryTree(CategoryRepositoryInterface $categoryRepository, Request $request)    {        $nodes = $this->getCategoriesTree($categoryRepository->getTree());        return $nodes;    }private function getCategoriesTree($nodes): array    {        $categoryArray = array();        $traverse = function ($categories, $prefix = '-') use (&$traverse, &$categoryArray) {            foreach ($categories as $category) {                $categoryArray[] = ['id' => $category->id, 'name' => $prefix . ' ' . $category->category_name];                $traverse($category->children, $prefix . '-');            }        };        $traverse($nodes);        return $categoryArray;    }在存储库中:public function getTree()    {        return $this->model->orderBy('order', 'ASC')->get()->toTree();    }我的模型是类别。结果我有: https: //pastebin.com/uErKGgHP如何将我的数据转换为 jsTree 格式?
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

好吧,我不知道你是否需要帮助来查看数据或数据格式,但我会尽力帮助解释 json 的格式,基本元素必须是 3:- Id:当前的唯一标识符元素。- 父母:来自父母的ID,或在没有父母时使用#。- 文本:显示项目名称。


您当前的输出数据无法接受 jsTree 格式,您必须针对此格式进行调整:


  $('#yourdata').jstree({ 'core' : {

        'data' : [       

             {"id": 1,"parent":"#","text": "- Books"}, 

             {"id": 2,"parent":"1","text": "-- Comic Book"}

        ]

       } 

     });

它将显示:


+ Book

-- Comic Book 

作为子类别


我希望它有所帮助。


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信