How to route to another url with a parameter from laravel's app/console/commands/myCommand.php's
handler() method?
I want to route to another url/page/route with a parameter from handle() method of custom made command file which(route) later will call a controller and that parameter passed by handle() via route() will be handle() there in controller.
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');
}
the handle function is not working properly, How can I route from handle() method with a parameter
CodePudding user response:
Maybe you can try this
app()->make(\Illuminate\Contracts\Http\Kernel::class)->handle(YourRequest);
CodePudding user response:
This is a terrible idea. You would be better served either abstracting the code in your controller to the service and then calling that service in both the command and the controller.
Or alternatively trigger an event in the controller and command, and have a listener for that event that executes your logic.