我確實有我的Laravel應用程序(存儲在數據庫中)中有多個項目的當前狀態。我有以下URL結構:Laravel:如何與父視圖共享變量
http://app.com/project/7-exampleproject/news
其中
https://app.com/project/ {ID} - {seostring}/{}模塊
是它背後的想法。我所需要的是項目變量應該在{id}部分之後的任何視圖(模塊)上可用。我怎樣才能實現它?
==
附加信息
這裏是路由列表:
GET|HEAD | project/{project}{extra?} | project.dashboard.index | App\Http\Controllers\Project\D[email protected] | web
GET|HEAD | project/{project}{extra?}/news | project.news.index | App\Http\Controllers\Project\[email protected] | web
GET|HEAD | project/{project}{extra?}/tournaments | project.tournaments.index | App\Http\Controllers\Project\[email protected] | web
Route::group(['prefix' => 'project', 'namespace' => 'Project'], function(){
Route::get('/{project}{extra?}', '[email protected]')->name('project.dashboard.index')->where(['id', '[0-9+]','extra' => '-[A-Za-z0-9]+']);
Route::get('/{project}{extra?}/news', '[email protected]')->name('project.news.index')->where(['id', '[0-9+]','extra' => '-[A-Za-z0-9]+']);
Route::get('/{project}{extra?}/tournaments', '[email protected]')->name('project.tournaments.index')->where(['id', '[0-9+]','extra' => '-[A-Za-z0-9]+']);
});
在我的每一個app.layouts.project得到由每個內容擴展這些觀點,所以我們最終得到:
但我想達到的目標是,每次/項目/ (項目)被調用,視圖layouts.project應該得到它的活躍ID和$項目變量
==
我怎麼想的數據可用:
在我的C ase,每個模塊當前都從URL中獲取活動項目(如此處在儀表板中所示),這已經來自URL。這不是我正在尋找的。
public function index(Project $project)
{
return view('project.dashboard.index',[
'project' => $project
]);
}
我所尋找的是包括$項目對象(包括所有信息)layouts.project,其中包括元和頭部標題信息,以及顯示項目名稱本身。
感謝您的快速答案。目前,我在NewsController @ show中爲每個模塊提供了自己的函數(例如$ module ='news')。我可以以某種方式在你的上層函數中調用這些函數嗎? – Astinox
你可以運行'php工匠路線:列表'併發布結果。是的,你可以在任何控制器中使用這個邏輯來提取該路徑,並且不會有任何問題。 – Sandeesh
將它作爲上面的答案發布。 – Astinox