2014-10-20 55 views
1

我有一個新聞控制器和一個頁面控制器。 pages控制器有一個稱爲home的方法,它返回主頁的視圖。我希望能夠在主頁上顯示這個新聞模塊。如何在laravel視圖中共享來自不同控制器的數據?

從頁面控制器,我怎樣才能從新聞控制器調用數據在頭版顯示新聞模塊?

+0

您可能認爲這做一種不同的方式。使用partials(小視圖片段)加載新聞模塊並將數據傳遞到PagesController。將這些相互耦合可能會隨着時間的推移而變得很糟糕。 – 2014-10-20 17:45:48

回答

1

您可以創建新聞控制器的靜態方法,它返回的新聞項目,並從頁面控制器調用它,比如:

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; 
} 

} 
相關問題