我是 Laravel 和 Stackoverflow 的新手
当 Laravel7 发布时,我开始学习 Laravel。不久前推出了新的8.0版本,我开始尝试。
我无法定义问题是由较新版本的 Laravelor 任何错误配置引起的。
当我尝试以下(edit.blade.php)
{!! Form::open(['action' => ['ProductController@update', $product->id], 'method' => 'POST']) !!}
或者
{!! Form::open(['action' => [[ProductController::class, 'update'], $product->id], 'method' => 'POST']) !!}
发生错误
动作 ProductController@update 未定义
然后我尝试用类似的路径替换控制器名称
{!! Form::open(['action' => ['App\Http\Controllers\ProductController@update', $product->id], 'method' => 'POST']) !!}
或者
{!! Form::open(['action' => [[App\Http\Controllers\ProductController::class, 'update'], $product->id], 'method' => 'POST']) !!}
有用!
所以我认为这是关于命名空间
namespace App\Http\Controllers;
但我的App\Http\ProductController.php 中有一个命名空间标题
虽然我可以通过集体形式输入控制器的完整路径来解决问题,但我担心我的代码有配置错误或语法错误等。