调用没有选项

时间:2018-05-26 15:55:43

标签: laravel

我如何从Controller执行这样的命令?

我使用的包提供了以下工匠命令:https://github.com/JosephSilber/page-cache

php artisan page-cache:clear {slug}

例如,如果手动输入:

php artisan page-cache:clear about-us

Laravel docs给了我们这个: https://laravel.com/docs/5.6/artisan#programmatically-executing-commands

Artisan::call('email:send', [
    'user' => 1, '--queue' => 'default'
]);

由于artisan命令page-cache:clear不接受任何命名参数,如何将slug参数发送给它?

我试过这个:

Artisan::call('page-cache:clear ' . $content->slug);

并收回此错误:

  

命令"页面缓存:清晰的下摆"没有定义。你是说这个吗?↵page-cache:clear

我也试过这个:

Artisan::call('page-cache:clear', [$content->slug]);

但是没有添加slug并且它调用php artisan page-cache:clear而没有slug,所以这个包清除了所有缓存的文件。

2 个答案:

答案 0 :(得分:2)

添加显式public static Vehicle FindOneByRego(string vehicleRego) { return Fleet.vehicleList.Find(vehicle => vehicle.VehicleRego == vehicleRego); } 作为true参数的值:

slug

修改

实际上上述内容可能仅适用于Artisan::call('page-cache:clear', [$content->slug => true]); 参数,您可能需要这样做:

--name

答案 1 :(得分:2)

试一试 Artisan::call('page-cache:clear', ['slug' => $content->slug]);