Laravel 航海者自定义 browse.blade.php
Laravel Voyager customize browse.blade.php
Laravel/Voyager 的新手。我已经覆盖了 documentation 中提到的 Voyager Controller 和 View。还需要自定义 browse.blade.php
以显示加入的 table 中的数据。第一部分很简单,补充
$query->join('table_b', 'table_a.id', '=', 'table_b.table_a_id');
在覆盖的 VoyagerBaseController
控制器 index(..)
方法中,可以看到 运行
改变的查询
$query->toSql();
但是,在 browse.blade.php
.
中找不到 $dataType->browseRows
中的 table_b
数据
看来我在这个过程中漏掉了一步。
有什么想法吗?
谢谢。
实际上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();
然后使用merge()
方法合并两个"dataTypes""browseRows":
$dataTypeBrowseRows = $dataType->browseRows->merge($additionalDataType->browseRows);
之后,在覆盖的 browse.blade.php
文件中将 @foreach($dataType->browseRows as $row)
替换为 @foreach($dataTypeBrowseRows as $row)
。
希望这会对某人有所帮助。
Laravel/Voyager 的新手。我已经覆盖了 documentation 中提到的 Voyager Controller 和 View。还需要自定义 browse.blade.php
以显示加入的 table 中的数据。第一部分很简单,补充
$query->join('table_b', 'table_a.id', '=', 'table_b.table_a_id');
在覆盖的 VoyagerBaseController
控制器 index(..)
方法中,可以看到 运行
$query->toSql();
但是,在 browse.blade.php
.
$dataType->browseRows
中的 table_b
数据
看来我在这个过程中漏掉了一步。
有什么想法吗?
谢谢。
实际上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();
然后使用merge()
方法合并两个"dataTypes""browseRows":
$dataTypeBrowseRows = $dataType->browseRows->merge($additionalDataType->browseRows);
之后,在覆盖的 browse.blade.php
文件中将 @foreach($dataType->browseRows as $row)
替换为 @foreach($dataTypeBrowseRows as $row)
。
希望这会对某人有所帮助。