2013-03-10 67 views
0

我在我的控制器的一個簡單的函數(成員):鑑於使用控制器Laravel

function action_data($array) { 
    $datamembre = DB::table('members')->where('id', '=', $id)->first(); 
    return $datamembre; 
} 

我想在另一個控制器的視圖中使用它,我做這在我的模板:

$datamembers = Controller::call('[email protected]', array($members_id)); 

有沒有更好的或正確的方法來做到這一點?

回答

4

最好的辦法是把它放入會員模型國際海事組織。

+0

這個。它看起來像數據邏輯,因此它屬於模型。使用作曲家將其提供給您的視圖。在你看來,你不應該有任何對控制器,模型等的調用。 – 2013-03-10 21:13:01

0

使用View Composer http://laravel.com/docs/views#view-composers

View::composer(array('home', 'profile'), function($view) 
{ 
    // 
}); 

更新

你可以把BaseController的方法,所有控制器擴展它,這樣你就可以得到在任何控制器/視圖此方法。並使其靜態。

// in BaseController.php (L4) or Base.php (L3) 

static public function action_data($array) { 
    $datamembre = DB::table('members')->where('id', '=', $id)->first(); 
    return $datamembre; 
} 

在視圖

BaseController::action_data($array); //L4 

Base_Cotroller::action_data($array); //L3 

希望工程。沒有測試過它。

+0

謝謝但作曲家是爲了查看,我不想包括任何視圖我想用我的功能來顯示每個用戶名。 – Tahola 2013-03-10 14:53:14

+0

已更新。如果它想讓你接受它作爲正確答案,以便其他人可以使用它。 – 2013-03-10 15:46:03