2016-04-25 6 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

traitまたはhelperを作成し、コントローラと職人のコマンドの両方で使用することをお勧めします。

0

他の場所からコントローラメソッドを呼び出そうとしているという事実は、コントローラがあまりにも多くの責任を負っていることを示しています。コントローラーとジョブの両方にアクセスできるように、機能を他の場所に移動するのが理想的です。

しかし、そうしたくない場合は、リクエストを作成し、ルータを使って内部的にディスパッチすることができます。

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

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

また、コンテナを使用してコントローラのインスタンスを取得し、そのメソッドを直接呼び出すこともできます。

App::make('YourController')->yourMethod($params); 
関連する問題