我试图将两个模型传递给控制器,但第二个模型为空。哪里出了问题<<strong>叶片视图/strong>
{!! 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 AppSchoolClass::whereId($value)->first();
});
Route::bind('schools', function ($value, $route){
return AppSchool::whereId($value)->first();
});
Route::resource('schools', 'SchoolsController');
Route::resource('schools.school-classes', 'SchoolClassesController');
当我运行PHP artisan route:list时,我得到
GET|HEAD | schools/{school}/school-classes/{school_class}/edit | schools.school-classes.edit | AppHttpControllersSchoolClassesController@edit | web
in my controller
public function edit(School $school, SchoolClass $class){
var_dump($class);
}
$class为空。我哪里做错了?
生成的路由包含下划线(_
)而不是破折号(-
)。您需要相应地设置绑定:
// use 'school_class' instead of 'school_classes'
Route::bind('school_class', function ($value, $route){
return AppSchoolClass::whereId($value)->first();
});