Laravel 命令参数 returns 键值对而不是值

Laravel Command argument returns keyvalue pair insted of value

我已经通过 php artisan make:command SomeCommand 生成了 Laravel artisan 命令。这是整个命令 class SomeCommand.

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class SomeCommand extends Command{
    protected $signature = 'Call:SomeCommand {phone="8980131488"} {name="Kiran Maniya"}';

    protected $description = 'This is a buggy Command';

    public function __construct(){
        parent::__construct();
    }

    public function handle(){
        $args = $this->arguments();
        $this->info($args['phone'].' '.$args['name']);
    }
}

问题是,当我通过 php artisan Call:SomeCommand phone="8980151878" name="Anubhav Rane" 调用命令时。它将带有密钥对值的参数输出为 name=Anubhav Rane & phone=8980151878。它应该只输出值。 我也尝试通过 $this->argument('phone')$this->argument('name') 捕获单个值,但它仍然输出相同的值。

您传递参数的方式不正确。试试这个:

php artisan Call:SomeCommand 8980151878 'Anubhav Rane'