Laravel Routing Route :: Route :: group内的资源

时间:2017-05-29 12:03:56

标签: php laravel laravel-5

我是Laravel的新人。 routes / api.php我写过这个函数

   Route::group(['namespace' => "Catalogue"],function(){
    Route::resource('product','Product');
});

我创建了一个资源控制器:

app/Controllers/Catalogue/Product.php

这是我的索引方法:

public function index()
    {
        $pdo = DB::select('select count(*) from offers');
        return $pdo;
    }

我试图从url:

获取index方法的结果

http://localhost:8000/api/Catalogue/product

然而,这导致404 not found。 注意:网址http://localhost:8000/api

的这一部分没有问题

2 个答案:

答案 0 :(得分:1)

你正在打错了uri。 检查http://localhost:8000/api/product

组路由中的命名空间意味着您要将命名空间分配给一组控制器。正如你在这里看到的https://laravel.com/docs/5.4/routing#route-group-namespaces。它与路线无关。

您可以在控制器中查看其他路径。 https://laravel.com/docs/5.4/controllers#controllers-and-namespaces

答案 1 :(得分:1)

根据您的路线,生成的链接为http://localhost:8000/api/product

如果您需要链接为http://localhost:8000/api/Catalogue/product,请将该前缀添加到该组中。

Route::group(['prefix' => 'Catalogue', 'namespace' => 'Catalogue'], function() {
    Route::resource('product', 'Product');
});

namespace仅设置控制器的默认命名空间。 prefix为组中的所有路由设置路由前缀。