首页 > 解决方案 > Laravel 侧边栏的 View Composer

问题描述

第一次在 Laravel 中使用视图作曲家。我有一个侧边栏,包含在用户经历的提交表单过程的每个步骤中。我希望侧边栏有适用于正确提交的链接(即,如果这是提交编号 5,则侧边栏中的链接应该都转到提交 5 的编辑功能。

我的 web.php 中有以下代码:

View::composer('layouts.planbuilder', function($view){
$plansubmissions = PlanSubmission::find(3);
$view->with('plansubmissions', $plansubmissions) ;

}) ;

我可以访问 $plansubmissions 变量,但当然这只适用于我硬编码的提交 3。是否可以从另一个控制器获取逻辑?我不能只使用 Auth 获取用户 ID,因为一个用户可以有很多提交

标签: laravel

解决方案


View Composers 还可以访问传递给视图本身的变量,因此如果您像这样将提交从控制器传递给您的视图

return view('submissions.show', compact('submission');

然后在您的作曲家中,您可以将其分配给$plansubmissions

$plansubmissions = $view->getData()['submission'];

推荐阅读