2017-12-09 17 views
0

나는 다음과 같은 경로가 있습니다Laravel 웹 경로 변수는 생각으로 반환하지 않습니다

Route::get('/web/{cat_id?}/{post_type}','[email protected]') 
->where('post_type', '(pictures|videos|links|companies)') 
->name('post_index'); 

컨트롤러 파일 :

public function index($post_type,$post_id = null,$cat_id = null) 
    { 

     dd($post_type); 
} 

액세스 URL/공공/웹/15/비디오 그것은 반환 {cat_id?} 값을 반환하는 동안 {post_type} 값 (동영상)을 반환해야하는 '15'입니다.

+0

색인 방법에서 post_id 란 무엇입니까? – C2486

+0

경로 앞에 그룹이 있습니까? – C2486

답변

2

조치에 전달 된 변수는 경로의 정의를 따라야합니다. 귀하의 경우입니다
는 , 당신이 기대하는 cat_id 첫째, 다음, 당신이 방법을 정의해야합니다 것을 의미 post_type : 당신은 여전히 ​​몇 가지 문제가있을 것으로 기대 또한

public function index($cat_id, $post_type) { } 

, 선택적 매개 변수를 가질 수 없으며 강제 매개 변수를 가질 수 없기 때문입니다. 따라서 $cat_id 매개 변수를 선택 사항으로 이동하여 경로 끝까지 이동하고 (/public/web/videos/15) 앞에 $post_type을 사용하거나 둘 다 강제로 설정하십시오.