Laravel7.x 命令:如何从命令文件的 handle() 方法路由到 url?
Laravel7.x Commands: how to route to a url from command file's handle() method?
如何使用来自 laravel 的 app/console/commands/myCommand.php's
handler() 方法的参数路由到另一个 url?
我想使用来自自定义命令文件的 handle() 方法的参数路由到另一个 url/page/route,该参数(路由)稍后将调用控制器,并且该参数由 handle() 通过 route() 传递控制器中将有 handle()。
app/console/commands/myCommand.php
public function handle()
{
$sale_days = SaleDay::latest()->first();
Log::info('test command file');
$latest_date = $sale_days->date;
// $request = Request::create('/game/end/day/'.$latest_date, 'get');
// '<a href=' . route('game.endday', $latest_date) . '></a>';
// return $request;
return redirect()->to('game.endday', $latest_date);
}
web.php
Route::get('/game/end/day/{date}', 'SaleDayController@endday')->name('game.endday');
controller
public function endday($date) {
// $date = \Artisan::call('auto_day:close');
Log::info("command endday module in saledaycontroller");
$new_Date=Carbon::create($date);
$prev_sale_day=$this->daySaleService->endDay($date);
$new_sale_day=$this->daySaleService->firstOrCreate($new_Date->addDays(1));
$this->daySaleService->changeCurrentDay($new_sale_day->id);
$this->daySaleService->shiftDayGameSales($new_sale_day->id,$prev_sale_day->id);
Log::info("command endday module in saledaycontroller ENDDDDD");
return redirect()->route('game.sale');
}
handle 函数无法正常工作,如何从带参数的 handle() 方法路由
也许你可以试试这个
app()->make(\Illuminate\Contracts\Http\Kernel::class)->handle(YourRequest);
这是个糟糕的主意。您最好将控制器中的代码抽象为服务,然后在命令和控制器中调用该服务。
或者在控制器和命令中触发一个事件,并为执行您的逻辑的事件设置一个侦听器。
如何使用来自 laravel 的 app/console/commands/myCommand.php's
handler() 方法的参数路由到另一个 url?
我想使用来自自定义命令文件的 handle() 方法的参数路由到另一个 url/page/route,该参数(路由)稍后将调用控制器,并且该参数由 handle() 通过 route() 传递控制器中将有 handle()。
app/console/commands/myCommand.php
public function handle()
{
$sale_days = SaleDay::latest()->first();
Log::info('test command file');
$latest_date = $sale_days->date;
// $request = Request::create('/game/end/day/'.$latest_date, 'get');
// '<a href=' . route('game.endday', $latest_date) . '></a>';
// return $request;
return redirect()->to('game.endday', $latest_date);
}
web.php
Route::get('/game/end/day/{date}', 'SaleDayController@endday')->name('game.endday');
controller
public function endday($date) {
// $date = \Artisan::call('auto_day:close');
Log::info("command endday module in saledaycontroller");
$new_Date=Carbon::create($date);
$prev_sale_day=$this->daySaleService->endDay($date);
$new_sale_day=$this->daySaleService->firstOrCreate($new_Date->addDays(1));
$this->daySaleService->changeCurrentDay($new_sale_day->id);
$this->daySaleService->shiftDayGameSales($new_sale_day->id,$prev_sale_day->id);
Log::info("command endday module in saledaycontroller ENDDDDD");
return redirect()->route('game.sale');
}
handle 函数无法正常工作,如何从带参数的 handle() 方法路由
也许你可以试试这个
app()->make(\Illuminate\Contracts\Http\Kernel::class)->handle(YourRequest);
这是个糟糕的主意。您最好将控制器中的代码抽象为服务,然后在命令和控制器中调用该服务。
或者在控制器和命令中触发一个事件,并为执行您的逻辑的事件设置一个侦听器。