【问题标题】:Laravel Backpack Multi Level Data TableLaravel 背包多级数据表
【发布时间】:2018-11-23 15:58:48
【问题描述】:
我想用 Laravel Backpack 实现多级数据表结构。请查看图片了解更多信息
Laravel 背包可以做到这一点吗?我可以找到解决方案的任何参考资料?
提前致谢:)
【问题讨论】:
标签:
laravel
laravel-backpack
【解决方案1】:
有一个名为 Details Row 的背包功能可以帮助您实现第一个 [+] 按钮,但恐怕仅此而已 - 下一个由您决定。
你必须:
在您的 TripCrudController::setup() 中:
$this->crud->enableDetailsRow();
$this->crud->allowAccess('details_row');
$this->crud->setDetailsRowView('details_row.expanded_trip_details_row');
创建输出包含城市、日期和景点的表格的刀片文件(比如说resources/views/vendor/backpack/crud/details_row/expanded_trip_details_row.blade.php);应该不是很困难,你在这个文件中有当前行程$entry,你可以使用Eloquent关系深入到$cities = $entry->cities,然后$days=$city->days等;
- 在
public/vendor/backpack/crud/js/list.js 中包含一些javascript,以便随后的[+] 符号起作用;或者,您可以在同一个刀片文件中使用内联 javascript 来执行此操作,这样可能会更干净;但请记住,此刀片内容使用 AJAX 放在详细信息行中,因此需要注册新的 DOM 元素和事件;
希望对你有帮助。
【解决方案2】:
Tabacitu 提供了正确的答案,但在我的案例中我观察到 details_row 模板应该这样调用:
$this->crud->setDetailsRowView('backpack::crud.details_row.expanded_trip_details_row');