показать данные с контроллера laravel на jstree - PullRequest
0 голосов
/ 25 апреля 2019

Мне нужно получить данные с контроллера laravel на jstree в blade.php.У меня есть все данные, которые мне нужны от контроллера, в моем блейд-файле (echo json_encode($data);), но они нужны мне как дерево.

Таблица проекта связана с таблицей jstree, поэтому при нажатии на маршрут project.show она показывает проектдетали с внешним ключом jstree (tree_id) и этим ключом я получаю данные jstree, как показано в функции ниже

ProjectController

public function show($id)
{
    $project = Project::find($id);

    $tid = $project->tree_id;
    $node = TreeModel::where('tid', $tid)->first();
    $data = array();

    $data[] = array(
        'id' => $node->tid,
        'text' => $node->text,
        "children" => $this->getChildren($node->tid)
    );


    echo json_encode($data);
    return view('projects.show', compact('project'));
    }

Web.php:

    Route::resource('projects', 'ProjectController');

Функция Jstree

 $(document).ready(function(){
 $("#jstree_demo").jstree({
   "core": {
       "check_callback": true,
       "data":  {
           'url':'???',
           'dataType':"json"
        }
  },.....

Мой результат в show.blade.php - это такой вывод:

{
  "id": "j1_1",
  "text": "Folder_one",
  "children": [
    {
      "id": "j1_2",
      "text": "New Paragraph",
      "type": "file",
      "children": []
    },
    {
      "id": "j1_5",
      "text": "1",
      "type": "default",
      "children": []
    }
  ]
}]

и мне нужны эти результаты как jstree

...