2016-10-19 4 views
0

コントローラに2つのモデルを渡そうとしていますが、2番目のモデルはnullです。私はPHPの職人のルートを実行したときにどこ ブレードビュー間違って行くことができコントローラーの2番目のモデルに2つのモデルを渡すとヌルです

{!! 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(); 
}); 
関連する問題