Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何将资源路由和其他路由组合在一起?_Laravel_Routes_Grouping - Fatal编程技术网

Laravel 如何将资源路由和其他路由组合在一起?

Laravel 如何将资源路由和其他路由组合在一起?,laravel,routes,grouping,Laravel,Routes,Grouping,我正在使用apiResource和其他路径。我将它们分组如下: Route::group(['prefix' => 'posts'], function () { Route::group(['prefix' => '/{post}'], function () { Route::put('lablabla', [PostController::class, 'lablabla']); }); Route::apiResource('/',

我正在使用
apiResource
和其他路径。我将它们分组如下:

Route::group(['prefix' => 'posts'], function () {
    Route::group(['prefix' => '/{post}'], function () {
         Route::put('lablabla', [PostController::class, 'lablabla']);
    });
    Route::apiResource('/', PostController::class, [
        'names' => [
            'store' => 'create_post',
            'update' => 'edit_post',
        ]
    ]);
});

除了
索引
存储
之外,所有apiResource路由都不工作!如何对路由进行分组?

您的语法不正确,存在名称方法。请参阅此处的文档。

您的路由语法错误

注释

  • 您将为apiResource(复数)提供一个uri
    • 例如:路由::apiResource('posts',PostController::class)
  • 您的资源路径名称错误
    • 把这个拿出来

    • 应该是

       Route::apiResource('posts', PostController::class)->names([
            'store' => 'create_post',
            'update' => 'edit_post',
       ]);
      
  • 无需重复路由::组,您可以这样编写路由

     Route::prefix('posts')->group(function () {
         Route::put('lablabla', [PostController::class, 'lablabla']); 
     });
    
     Route::apiResource('posts', PostController::class)->names([
         'store' => 'create_post',
         'update' => 'edit_post',
     ]);