我有这样的控制器
public function store(Request $request)
{
Artisan::call("php artisan infyom:scaffold {$request['name']} --fieldsFile=public/Product.json");
}
显示错误
“ php artisan infyom”名称空间中没有定义命令。
当我在CMD中运行此命令时,它可以正常工作
您需要删除php artisan
部分并将参数放入数组以使其起作用:
public function store(Request $request)
{
Artisan::call("infyom:scaffold", ['name' => $request['name'], '--fieldsFile' => 'public/Product.json']);
}
https://laravel.com/docs/5.2/artisan#calling-commands-via-code
如果您要完成简单的工作,则可以从路由文件中完成。例如,您要清除缓存。在终端中将是php artisan cache:clear在路由文件中将是:
Route::get('clear_cache', function () {
\Artisan::call('cache:clear');
dd("Cache is cleared");
});
要从浏览器中运行此命令,只需转到您的项目路径,然后进入clear_cache。示例:
http://project_route/clear_cache