【发布时间】:2016-01-03 07:38:19
【问题描述】:
我在使用 Laravel 和/或 Blade 时遇到了一个简单的问题,但不知道如何将其融入 Laravel 范式:
我有一个父视图,它应该显示不同子视图的列表。以我目前的理解,我需要深入到列表元素并“扩展”父元素。但是我应该如何插入兄弟模板?我需要一种“自上而下”而不是“自下而上”呈现模板的方法。
------ Parent template -----
group.show
--------- List ---------
group_assets.type-A.show
group_assets.type-B.show
group_assets.type-B.show
group_assets.type-B.show
group_assets.type-C.show
group_assets.type-A.show
我的方法如下:
class GroupController extends Controller {
...
public function show($id){
$group = Group::find($id);
$view = view('groups.show', [
'group' => $group
]);
$groupAssetController = new GroupAssetController();
foreach($group->assets as $i => $asset){
$view->with($groupAssetController->show($asset->id));
}
return $view;
}
...
}
class GroupAssetController extends Controller{
...
public function show($id){
$asset = GroupAsset::find($id);
return view('group_assets.' . $asset->type . '.show', [
"asset" => $asset
]);
}
...
}
【问题讨论】: