php - Laravel Voyager 自定义 browse.blade.php
问题描述
Laravel/Voyager 的新手。如文档中所述,我已覆盖 Voyager 控制器和视图。还需要自定义browse.blade.php
以显示连接表中的数据。第一部分很简单,补充说
$query->join('table_b', 'table_a.id', '=', 'table_b.table_a_id');
在重写的VoyagerBaseController
控制器index(..)
方法中,可以通过运行查看更改的查询
$query->toSql();
但是,table_b
在.$dataType->browseRows
browse.blade.php
看来我在这个过程中错过了一步。
有任何想法吗?
谢谢。
解决方案
实际上table_b
存储在$dataTypeContent
变量中的数据。$dataType
变量从模型中获取数据DataType
:
$slug = $this->getSlug($request);
$dataType = Voyager::model('DataType')->where('slug', '=', $slug)->first();
所以,为了解决我的问题,我table_b
也得到了“dataType”:
$additionalSlug = 'table_b'; // for example
$additionalDataType = Voyager::model('DataType')->where('slug', '=', $additionalSlug)->first();
然后使用以下方法合并两个“dataTypes”“browseRows” merge()
:
$dataTypeBrowseRows = $dataType->browseRows->merge($additionalDataType->browseRows);
之后在被覆盖的文件中替换@foreach($dataType->browseRows as $row)
为。@foreach($dataTypeBrowseRows as $row)
browse.blade.php
希望这会对某人有所帮助。