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
My Answer:
To route to a URL from a command file in Laravel 7.x, you can use the `route()` helper function provided by Laravel. Here's an example of how you can use this function in a command file:
php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class MyCommand extends Command
{
protected $signature = 'mycommand:route';
protected $description = 'Route to a URL from a command file';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$url = route('my.route.name'); // Replace 'my.route.name' with the name of the route you want to route to
$this->info('Routing to URL: ' . $url);
}
}
In the above example, we are using the `route()` helper function to generate the URL for a named route. Make sure to replace `'my.route.name'` with the actual name of the route you want to route to.
To run this command, you can use the following command in your terminal:
php artisan mycommand:route
This will output the URL that the command is routing to.
Rate this post
4 of 5 based on 5333 votesComments