laravel - 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,因为一个用户可以有很多提交
解决方案
View Composers 还可以访问传递给视图本身的变量,因此如果您像这样将提交从控制器传递给您的视图
return view('submissions.show', compact('submission');
然后在您的作曲家中,您可以将其分配给$plansubmissions
$plansubmissions = $view->getData()['submission'];