2016-05-06 76 views
1

我做了什么

我的东西从我的数据库中提取,并在列表中显示的列表。我们称之为“stuff-list”。当我收到'/stufflist时,路由器显示这个列表。连接的控制器获取数据并将其传递给模板。如何重用Laravel组件,其控制器功能

我想做

我想显示在其他页面这份名单(在我的情况:一个仪表盘)什么地方名单只是别人身边的组件。

什么是最佳做法?当我输入/dashboard时,我当然会得到一个错误,因为填充列表我正在包含没有来自其控制器的数据。

我不想来实现数据的每一个控制器每次我用在东西列表模板的抓取。我一定要实现怎样的一个信息库,并使用每个控制器每个模板包括填充列表?或者有没有更好的方法?

我想要做的是创建一个组件显示的东西和绑定到该组件的控制器。每当我将这个组件(显示内容)包含在任何页面中时,它都应该包含在它后面的所有逻辑中。

我该怎么做? 感谢您的帮助!

+0

也许这对您有所帮助。 [在Laravel的不同视图中传递相同的数据](http://stackoverflow.com/questions/22835002/passing-the-same-data-over-different-views-in-laravel?answertab=votes#tab-top )或这一个 [我怎样才能在一个不同的控制器在laravel视图共享数据?](http://stackoverflow.com/questions/26470130/how-can-i-share-data-from-a-different- controller-in-a-laravel-view?answertab = votes#tab-top) 或者在您的刀片模板中使用与@ @ inject一起使用的Method @haakym。 – Devsome

回答

0

您考虑过吗?Service Injection?如果您使用刀片模板,那么您可以利用它。

比方说,与DB的互动来获得的东西名单是在模型的方法或在专用的查询类,你可以做这样的事情在你的刀模板:

@inject('stuffList', 'App\Queries\StuffList') 

<div> 
    Monthly Revenue: {{ $stuffList->get() }}. 
</div> 

你可以然后将其使用的部分提取到一个局部区域,然后将其拖入主模板或任何刀片文件中。使用@include see: Including sub views

+0

也许会对该问题发表评论? – haakym