2
기본적으로 중첩 된 리소스의보기에서 경로 매개 변수에 액세스하는보다 효율적이거나 적절한 방법이 있는지 확인하려고합니다. 아래 코드는 경로에서 모든 매개 변수를 잡아 내며 컨트롤러의 인덱스 메소드에 /schools/1/classes/2/teachers/4/assignments
을 입력 한 다음 뷰를 만들고 모든 매개 변수를 전달하므로 뷰 내에서 사용할 수있는 양식과 링크를 만들 수 있습니다. 동일한 경로 형식 & 매개 변수. 더 좋은 방법이 있습니까? Laravel Pastehtml 양식 및 URL의 Laravel 중첩 리소스 경로 매개 변수
//
// app/routes.php
//------------------------------------------------------
Route::resource('schools.classes.teachers.assignments', 'AssignmentsController');
//
// app/controllers/AssignmentsController.php
//-------------------------------------------------------
public function index($school_id,$class_id,$teacher_id)
{
$routes = array($school_id,$class_id,$teacher_id);
$assignments = $this->assignment->all();
return View::make('assignments.index', compact('assignments'))
->with('routes', $routes);
}
//
// app/views/assignments/index.blade.php
// ------------------------------------------------------------
<p>{{ link_to_route('schools.classes.teachers.assignments.index', 'All Assignments', array($routes[0],$routes[1],$routes[2])) }}</p>
//
// app/views/assignments/edit.blade.php
// -------------------------------------------------------------
{{ Form::model($assignment, array('method' => 'PATCH', 'route' => 'schools.classes.teachers.assignments.update', $routes[0],$routes[1],$routes[2],$route[3]))) }}
-