2016-04-25 132 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);