Php 拉威尔总是在表演中
我有一个资源:Php 拉威尔总是在表演中,php,laravel,Php,Laravel,我有一个资源: Route::resource('/p/{p_id}/certificate', 'CertificateController'); 但在CertificateController中,它调用everytime show() 当我搜索url的时候,比如 /p/#number/certificate/index 我上过这样的课 class CertificateController extends Controller { public function index(Re
Route::resource('/p/{p_id}/certificate', 'CertificateController');
但在CertificateController中,它调用everytime show()
当我搜索url的时候,比如
/p/#number/certificate/index
我上过这样的课
class CertificateController extends Controller
{
public function index(Request $request, $p_id)
{
...
}
public function show($p_id)
{
...
}
有什么问题吗?当您在Laravel路线中使用资源时 /p/{id}将自动路由到show方法。它就是这样设计的 如果你想去索引,先试试这条路线
Route::get('/p/{id}/certificate', 'CertificateController@index');
对于重定向url,您可以在资源路由之前编写特定的方法来驱动页面,如: web.php
Route::get('/p/{number}/certificate/index','CertificateController@index');
您可以感谢文档删除了“嵌套资源”部分 这是处理嵌套资源的方式:
Route::resource('p.certificate', 'YourController');
// index - p/{p}/certificate
// show - p/{p}/certificate/{certificate}
// edit - p/{p}/certificate/{certificate}/edit
// etc ...
如果要更改参数名称,可以通过Route::resource
的第三个参数轻松完成,该参数是选项
数组
当您定位到
/p/#number/certificate
url,同时指向show()
?在php artisan route:list上向我们显示您的路线
您忘记了CertificateController
之后的@方法
,谢谢@EliasSoares!