Мне нужно получить данные с контроллера 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