Laravel Backpack Многоуровневая таблица данных
Я хотел реализовать многоуровневую структуру таблиц данных с Laravel Backpack. Пожалуйста, смотрите изображения для получения дополнительной информации
- структура - https://ibb.co/i9Qfud
- первоначальный вид - https://ibb.co/h8SFSy
- путешествие расширено - https://ibb.co/cm027y
- город расширился - https://ibb.co/ej3N7y
- день расширен - https://ibb.co/iGffud
Это возможно с рюкзаком Laravel? Любые ссылки, где я могу найти решение?
Заранее спасибо:)
2 ответа
Существует функция Backpack, называемая Details Row, которая поможет вам достичь первой кнопки [+], но я боюсь, что это все - следующие будут за вами.
Тебе придется:
в вашем TripCrudController::setup():
$this->crud->enableDetailsRow(); $this->crud->allowAccess('details_row'); $this->crud->setDetailsRowView('details_row.expanded_trip_details_row');
создайте файл blade, который выводит таблицу с городами, днями и достопримечательностями (скажем,
resources/views/vendor/backpack/crud/details_row/expanded_trip_details_row.blade.php
); не должно быть очень сложно, у вас есть текущая поездка как$entry
внутри этого файла, и вы можете развернуть, используя отношения Eloquent в$cities = $entry->cities
, затем$days=$city->days
так далее;- включите некоторый JavaScript, чтобы последующие знаки [+] работали внутри вашего
public/vendor/backpack/crud/js/list.js
; в качестве альтернативы, вы можете сделать это с помощью встроенного javascript внутри одного и того же блейд-файла. но помните, что это содержимое блейда помещается в строку сведений с помощью AJAX, поэтому необходимо регистрировать новые элементы и события DOM;
Надеюсь, поможет.
Tabacitu предоставил правильный ответ, но в моем случае я заметил, что шаблон details_row должен называться следующим образом:$this->crud->setDetailsRowView('backpack::crud.details_row.expanded_trip_details_row');