Laravel 5将数据共享到存储库中的所有视图(避免重复查询)

时间:2015-08-08 16:06:33

标签: php laravel laravel-5

我的布局包含很多模态窗口,可以在每个页面上访问。每个模态都需要一些数据。例如,我有一个带有任务创建表单的模态,需要任务类型。另一方面,任务创建表单可能包含在我网站的某些页面中。这意味着在某些页面上有两个或更多相同的表单。所有这些都需要相同的数据。

我已经了解了view()->share方法。问题是我从存储库中获得了很多东西要分享。我有一个视图作曲家的服务提供商,我试图注入存储库并将数据传递给查看共享,但显然它不起作用,我得到500错误而没有任何日志。

因此,简而言之,我如何从任务存储库获取任务类型并传递给所有视图?现在我有\View::composer('private.*', 'CRM\ViewComposers\SharedDataViewComposer');但是如果一个视图中包含2个或更多表单,则数据会重复,因为视图编辑器提供具有相同数据的2个视图。

1 个答案:

答案 0 :(得分:0)

您可以将需要数据的视图数组传递给应用程序提供程序boot()方法,而只有在此视图中才能获得数据。例如,如果你有一个包含3个其他视图的视图,你可以在这个数组中输入你需要的视图的名称,它将忽略其余视图。

例如:

@if(isset($extra_info))
      <p>{{ $extra_info }}</p>
@endif

在您看来,只需使用此数据:

{{1}}
相关问题