有没有办法在laravel 8中定义路由组的名称?
我正在尝试为卖家建立前往订单管理网站的路线,下面是我在web.php 中的路线列表
use App\Http\Controllers\Seller\OrderController;
Route::group(['prefix' => 'seller', 'middleware' => 'auth', 'as' => 'seller.', 'namespace' => 'Seller'], function () {
Route::redirect('/','seller/orders');
Route::resource('/orders', [OrderController::class]);
});
Run Code Online (Sandbox Code Playgroud)
错误
ErrorException
Array to string conversion
at C:\wamp64\www\my-project\vendor\laravel\framework\src\Illuminate\Routing\ResourceRegistrar.php:416
412? protected function getResourceAction($resource, $controller, $method, $options)
413? {
414? $name = $this->getResourceRouteName($resource, $method, $options);
415?
? 416? $action = ['as' => $name, 'uses' => $controller.'@'.$method];
417?
418? if (isset($options['middleware'])) {
419? $action['middleware'] = $options['middleware'];
420? }
1 C:\wamp64\www\my-project\vendor\laravel\framework\src\Illuminate\Routing\ResourceRegistrar.php:416
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Array to string conversion", "C:\wamp64\www\my-project\vendor\laravel\framework\src\Illuminate\Routing\ResourceRegistrar.php", ["orders", "index", "orders.index"])
2 C:\wamp64\www\my-project\vendor\laravel\framework\src\Illuminate\Routing\ResourceRegistrar.php:189
Illuminate\Routing\ResourceRegistrar::getResourceAction("orders", "index", [])
Run Code Online (Sandbox Code Playgroud)
小智 6
更改以下行
Route::resource('/orders', [OrderController::class]);
Run Code Online (Sandbox Code Playgroud)
到
Route::resource('/orders', OrderController::class);
Run Code Online (Sandbox Code Playgroud)
小智 5
它给你这个错误的原因是因为你将 `OrderController 作为数组传递:
Route::resource('/orders', [OrderController::class]);
Run Code Online (Sandbox Code Playgroud)
对于资源控制器,您必须将类名作为字符串传递:
Route::resource('/orders', OrderController::class);
Run Code Online (Sandbox Code Playgroud)
这对我有用。所以@Iyathurai Iyngaran
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |