2017-09-21 3 views
3

Laravel과 함께 몇 시간 동안 열심히 노력하고 있습니다.Laravel 리소스가 잘못된 메서드를 호출합니다.

이 내 web.php 파일입니다

// Admin 
Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin'], 'namespace' => 'Admin'], function() { 

    Route::resource('cities', 'CitiesController'); 
    Route::resource('stores', 'StoresController'); 

}); 

내가 http://localhost:3000/admin/cities/create 접근 그리고 난이 show 방법에서 오류가 발생합니다! URL이 create 대신 show 메서드를 호출하는 이유는 무엇입니까? 그리고 만약 내가 Route::resource을 제거하고 자세한 경로로 대체한다면, 그것은 효과가 있습니까? 그건 미친 짓이야.

|  | GET|HEAD | admin      | admin   | App\Http\Controllers\Admin\[email protected]     | web,auth,admin | 
|  | GET|HEAD | admin/cities    | cities.index  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | POST  | admin/cities    | cities.store  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/create  | cities.create | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/{city}  | cities.show  | App\Http\Controllers\Admin\[email protected]       | web,auth,admin | 
|  | PUT|PATCH | admin/cities/{city}  | cities.update | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | DELETE | admin/cities/{city}  | cities.destroy | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/{city}/edit | cities.edit  | App\Http\Controllers\Admin\[email protected]       | web,auth,admin | 
|  | GET|HEAD | admin/stores    | stores.index  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | POST  | admin/stores    | stores.store  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/create  | stores.create | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/{store}  | stores.show  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | DELETE | admin/stores/{store}  | stores.destroy | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | PUT|PATCH | admin/stores/{store}  | stores.update | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/{store}/edit | stores.edit  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
+1

당신이 (의 관련 부분)을 공유 할 수 UPDATE

route:list

enter image description here

'PHP 장인 경로의 출력 : l ist'와 경로 처리기를 만드시겠습니까? – apokryfos

+0

당신은이 URL http : // localhost : 3000/admin/cities/create –

+0

에 대한 요청을 받고 있습니까 Route Controller의 모호성을 생성하는'admin/cities/create'와'admin/cities/{city} '경로를 'create'는'{city} '의 인자입니다. 그리고 그 이유는'show' 메소드를 호출하는 것입니다. –

답변

-1

확인과 같은 쇼를 저장 경로 :

Route::get('/store/{store}', '[email protected]')->name('stores.show'); 
+0

'/ stores /'를 유지하고 싶습니다. –

관련 문제