Отображение данных в виде дерева Отображение данных в виде дерева - PullRequest
0 голосов
/ 29 августа 2018

Я работаю над Laravel. Я пытаюсь отобразить мои данные в виде дерева. Но я успех только первый шаг. Кто-то из вас может помочь, пожалуйста?

Структура базы данных Мое достижение

Код:

<button class=" btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls=".multi-collapse" >
    <span class="glyphicon glyphicon-eye-open"></span></button>
    @foreach(App\Account::where('nomencloture', 'LIKE', '_')->get() as $item)


    <div  class="collapse multi-collapse" id="{{$item->nomencloture}}" >         
        <div class="list-group-item " >
            <div class="col-md-2"> {{ $item->account_id }}</div>
            <div class="col-md-2"> {{ $item->account_name }}</div>

            <button class=" btn-primary" type="button" data-toggle="collapse" data-target="#PUT SOMETHINGHERE" aria-expanded="false" aria-controls="multiCollapseExample1" >
                <span class="glyphicon glyphicon-eye-open"></span></button>       
                <br>
                <br>
                @foreach(App\Account::where('nomencloture', 'LIKE', '_______')->get() as $subitem)
                <div  class="collapse" id="{{ $subitem->nomencloture }}" >
                    <br>
                    <div class="list-group-item ">
                        <div class="col-md-2"> {{ $subitem->account_id }}</div>
                        <div class="col-md-2"> {{ $subitem->account_name }}</div>
                    </div>
                </div>                                   
                @endforeach
            </div>             

        </div>
        @endforeach

1 Ответ

0 голосов
/ 29 августа 2018

Вам необходимо внести некоторые изменения в свой код, пожалуйста, найдите ниже шаг, чтобы изменить код

Шаг 1. Создайте связи с внешним ключом в файле модели, например

namespace App;

use Illuminate\Database\Eloquent\Model;

class Treeview extends Model
{
    protected $table = 'treeview';
    public $fillable = ['title','parent_id'];

    /**
     * Get the index name for the model.
     *
     * @return string
    */
    public function childs() {
        return $this->hasMany('App\Treeview','parent_id','id') ;
    }
}

Шаг 2: Добавьте указанную ниже функцию в свой контроллер и внесите некоторые изменения в соответствии с таблицей и объектом модели

/**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function manageCategory()
    {
        $categories = Treeview::where('parent_id', '=', 0)->get();
        return view('treeview/categoryTreeview',compact('categories')); // set the path of you templates file.
    }

Шаг 3: Добавьте приведенный ниже код в вашу категорию файлов шаблонов для просмотра

<h3>Category List</h3>
    <ul id="tree1">
        @foreach($categories as $category)
        <li>
            {{ $category->title }}
            @if(count($category->childs))
            @include('treeview/manageChild',['childs' => $category->childs]) // Please create another templates file
            @endif
        </li>
        @endforeach
    </ul>

Шаг 4. Создайте еще один файл шаблона manageChild и добавьте ниже код.

<ul>
        @foreach($childs as $child)
            <li>
                {{ $child->title }}
            @if(count($child->childs))
                    @include('treeview/manageChild',['childs' => $child->childs])
                @endif
            </li>
        @endforeach
    </ul>

Выводится вывод как:

Category List

    Cat_1
        Cat_1_par_1
        Cat_1_par_2
        Cat_1_par_3
    Cat_2
        Cat_2_par_1
        Cat_2_par_2
        Cat_2_par_3
    Cat_3

Больше информации я нашел по одной ссылке: https://itsolutionstuff.com/post/laravel-5-category-treeview-hierarchical-structure-example-with-demoexample.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...