2016-05-06 74 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