2016-04-25 97 views
0

任何建議如何觸發與cronjob控制器方法?laravel 4 cronjob觸發控制器方法

我創建了一個工匠命令

public function schedule(Schedulable $scheduler) 
{ 

    return $scheduler->everyMinutes(1); 

} 

/** 
* Execute the console command. 
* 
* @return mixed 
*/ 
public function fire() 
{ 
    if (Auth::check()) 
    { 
     $users = Auth::user(); 
     Log::info($users); 
    } 
} 

而不是記錄我要調用一個控制器的方法。這可能嗎?

回答

0

更好的做法是創建traithelper並在控制器和工匠命令中使用它。

0

您試圖從別處調用控制器方法的事實表明您的控制器負有太多責任。理想情況下,您應該將功能移到別處,以便控制器和作業都可以訪問它。

但是,如果您不想這樣做,您可以創建請求並使用路由器在內部分派它。

$request = Request::create('uri/of/controller', 'GET', $params); 

return Route::dispatch($request)->getContent(); 

您也可以使用容器來獲取控制器的實例並直接調用該方法。

App::make('YourController')->yourMethod($params);