Laravel 8:路由寄存器上的数组到字符串转换

Mar*_*rch 1 routes laravel

有没有办法在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