我如何从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,所以这个包清除了所有缓存的文件。
答案 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]);