如何使用 controller case 按 ID 设置资源路由,并在控制器上获取 id

问题描述 投票:0回答:0

没有资源,我可以像这样工作:

use App/Http/Controller/Aaa/XxxController as AaaXxxController;
use App/Http/Controller/Bbb/XxxController as BbbXxxController;
Route::get( "/aaa", [ AaaXxxController::class, "index" ] )
    ->defaults( "xxxID", "aaa" );
Route::get( "/bbb", [ BbbXxxController::class, "index" ] )
    ->defaults( "xxxID", "aaa" );

但是当我使用这样的资源方法时:

use App/Http/Controller/Aaa/XxxController as AaaXxxController;
use App/Http/Controller/Bbb/XxxController as BbbXxxController;
Route::resource( "/aaa", AaaXxxController::class)
    ->defaults( "xxxID", "aaa" );
Route::resource( "/bbb", BbbXxxController::class)
    ->defaults( "xxxID", "bbb" );

我收到错误信息: 方法 Illuminate\Routing\PendingResourceRegistration::defaults 不存在。

App/Http/Controller/Aaa/XxxController 和 App/Http/Controller/Aaa/XxxController 扩展了 App/Http/Controller/XxxController

App/Http/Controller/XxxController 像这样:

public function index( $xxxID ) {
    //...
}
......
public function update( Request $request, $xxxID, $id ) {
    //...
}
......
php laravel routes laravel-routing url-parameters
© www.soinside.com 2019 - 2024. All rights reserved.