Laravel总是在秀()

时间:2017-04-25 12:57:22

标签: php laravel

我正在寻找资源:

Route::resource('/p/{p_id}/certificate', 'CertificateController');

但在CertificateController中它每次调用show() 当我搜索像

这样的网址时
/p/#number/certificate/index

我有一个这样的课程

class CertificateController extends Controller
{
    public function index(Request $request, $p_id)
    {
    ...
    }
    public function show($p_id)
    {
    ...
    }

有什么问题?

3 个答案:

答案 0 :(得分:0)

在Laravel中使用资源时的路线     / p / {id}将自动路由到show方法。这就是它的设计方式。

如果你想去索引,请先试试这条路线,

Route::get('/p/{id}/certificate', 'CertificateController@index');

答案 1 :(得分:0)

要重定向您的网址,您可以在资源路径之前编写特定方法来驱动您的网页,如:

web.php

Route::get('/p/{number}/certificate/index','CertificateController@index');

答案 2 :(得分:0)

您可以感谢文档删除了嵌套资源'部分。

这是您处理嵌套资源的方式:

Route::resource('p.certificate', 'YourController');
// index -  p/{p}/certificate
// show  -  p/{p}/certificate/{certificate}
// edit  -  p/{p}/certificate/{certificate}/edit
// etc ...

如果您想更改参数名称,可以通过Route::resource options数组的第3个参数轻松完成。

Laravel Docs - 5.1 - Controllers - Restful - Nested Resources

Laravel Docs - 5.4 - Controllers - Restful - Naming Resource Route Parameters