2016-10-19 2 views
0

입니다. 내가 PHP 장인 경로를 실행할 때 어디 블레이드보기 잘못 갈 수컨트롤러 두 번째 모델에 두 모델을 전달하면 컨트롤러에 두 모델을 전달하려고 시도하지만 두 번째 모델은 null입니다.

{!! link_to_route('schools.school-classes.edit', 'Edit', array($school->id, $class->id), array('class'=>'label label-info')) !!} 

web.php 코드는

Route::bind('school-classes', function ($value, $route){ 
return \App\SchoolClass::whereId($value)->first(); 
}); 
Route::bind('schools', function ($value, $route){ 
return \App\School::whereId($value)->first(); 
}); 
Route::resource('schools', 'SchoolsController'); 
Route::resource('schools.school-classes', 'SchoolClassesController'); 

입니다 : 목록 내가 내 컨트롤러

GET|HEAD | schools/{school}/school-classes/{school_class}/edit | schools.school-classes.edit | App\Http\Controllers\[email protected]  | web 

를 얻을 수
public function edit(School $school, SchoolClass $class){ 
    var_dump($class); 
} 

$ class가 null입니다. 어디서 잘못 될 수 있습니까?

답변

1

생성되는 경로에 대시 (-) 대신 밑줄 (_)이 포함되어 있습니다. 그에 따라 바인딩을 설정해야합니다.

// use 'school_class' instead of 'school_classes' 
Route::bind('school_class', function ($value, $route){ 
    return \App\SchoolClass::whereId($value)->first(); 
}); 
관련 문제