Задача Laravel: Как я могу передать params для использования в методе? - PullRequest
1 голос
/ 05 июня 2019

Я устанавливаю новую задачу с помощью Laravel, и эта задача вызывает метод из другого класса, этому методу требуется параметр.

Я читал документ из Laravel , там говорится, что я должен включить параметр в $ signature среди {} И я сделал это.

protected $signature = 'cmd:taskTest {id}';

В моей функции дескриптора (в классе команд)

    public function handle()
    {
        WebController::downloadFile(); // downloadFile needs param
    }

И мой метод, который вызывается дескриптором.

public static function downloadFile($warehouseId){
//do something
}

Я попытался написать это в командной строке:

php artisan cmd:taskTest 1

Он вернул ошибку, потому что ему нужен идентификатор, чтобы найти всю информацию в базе данных об этом идентификаторе.

Чтобы создать команду, я запустил это:

php artisan make:command

1 Ответ

2 голосов
/ 05 июня 2019

Вы можете получить его с помощью метода argument.

WebController::downloadFile($this->argument('id'));

Для получения дополнительной информации: https://laravel.com/docs/5.5/artisan#command-io

...