鉴于使用控制器Laravel

问题描述:

我在我的控制器的一个简单的函数(成员):鉴于使用控制器Laravel

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

我想在另一个控制器的视图中使用它,我做这在我的模板:

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

有没有更好的或正确的方法来做到这一点?

最好的办法是把它放入会员模型国际海事组织。

+0

这个。它看起来像数据逻辑,因此它属于模型。使用作曲家将其提供给您的视图。在你看来,你不应该有任何对控制器,模型等的调用。 – 2013-03-10 21:13:01

使用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