2017-02-24 97 views
4

對於Laravel我很新,說實話 - 這是一個很棒的框架。然而,我對一些嵌套資源有些困惑 - 包括CRUD。嵌套的資源:缺少必需的參數(laravel)

對於路線我使用

Route::resource('startups','StartupsController'); 
Route::resource('startups.usecases','UsecasesController'); 

PHP工匠路線:列表

|  | GET|HEAD | admin/startups         | admin.startups.index   | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | POST  | admin/startups         | admin.startups.store   | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/create       | admin.startups.create   | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | DELETE | admin/startups/{startup}       | admin.startups.destroy   | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}       | admin.startups.show    | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | PUT|PATCH | admin/startups/{startup}       | admin.startups.update   | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}/edit     | admin.startups.edit    | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}/usecases    | admin.startups.usecases.index | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | POST  | admin/startups/{startup}/usecases    | admin.startups.usecases.store | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}/usecases/create   | admin.startups.usecases.create | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | DELETE | admin/startups/{startup}/usecases/{usecase}  | admin.startups.usecases.destroy | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}/usecases/{usecase}  | admin.startups.usecases.show | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | PUT|PATCH | admin/startups/{startup}/usecases/{usecase}  | admin.startups.usecases.update | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 
|  | GET|HEAD | admin/startups/{startup}/usecases/{usecase}/edit | admin.startups.usecases.edit | App\Http\Controllers\[email protected]        | web,admin,auth:admin | 

父,這裏所說的 「創業公司」,一切都很好,我可以CRUD一切就好了。

對於孩子來說,在這裏稱爲「usecases」,索引,創建和存儲都很好。當我嘗試添加鏈接到編輯,刪除或在我的模板中顯示時,我開始得到:缺少[Route:admin.startups.usecases.destroy] [URI:admin/startups/{startup}/usecases的必需參數/ {用例}]。

在我的索引刀片文件的鏈接:

<li><a href="{{ route('admin.startups.usecases.show',$startup->id, $usecase->id) }}">Show</a></li> 

返回該錯誤。

在我UsecasesController

public function show($startup_id, $usecase_id) 
    { 
     $startups = $startup_id; 
     $usecase = Usecase::find($usecase_id); 
     return view('admin.startups.usecases.show') 
     ->with('usecase', $usecase) 
     ->with('startups', $startups); 
    } 

TLDR:我可以訪問和家長, 「初創」 CRUD一切。我可以爲孩子創建和存儲,但不能編輯,顯示或刪除 - 「用例」。

您的幫助表示讚賞。

回答

2

你需要傳遞參數數組:

route('admin.startups.usecases.show', [$startup->id, $usecase->id]) 

而且show()方法是這樣的:

public function show($startup, $usecase) 
{ 
    .... 
+1

一個數組中!啊......謝謝。 –