1
我有一個新聞控制器和一個頁面控制器。 pages控制器有一個稱爲home的方法,它返回主頁的視圖。我希望能夠在主頁上顯示這個新聞模塊。如何在laravel視圖中共享來自不同控制器的數據?
從頁面控制器,我怎樣才能從新聞控制器調用數據在頭版顯示新聞模塊?
我有一個新聞控制器和一個頁面控制器。 pages控制器有一個稱爲home的方法,它返回主頁的視圖。我希望能夠在主頁上顯示這個新聞模塊。如何在laravel視圖中共享來自不同控制器的數據?
從頁面控制器,我怎樣才能從新聞控制器調用數據在頭版顯示新聞模塊?
您可以創建新聞控制器的靜態方法,它返回的新聞項目,並從頁面控制器調用它,比如:
class PagesController extends BaseController(){
public function home(){
$news = NewsController::GetNews();
return View::make('home')
->with('news', $news);
}
}
class NewsController extends BaseController(){
public static function GetNews(){
$news = NewsItem::OrderBy('id', 'DESC')->take(10)->get();
return $news;
}
}
您可能認爲這做一種不同的方式。使用partials(小視圖片段)加載新聞模塊並將數據傳遞到PagesController。將這些相互耦合可能會隨着時間的推移而變得很糟糕。 – 2014-10-20 17:45:48