2017-10-15 9 views
0

laravel 5.2를 사용하여 프로젝트 관리 응용 프로그램을 개발 중이며 응용 프로그램 사용자는 프로젝트를 만들 수 있으며 프로젝트 하나에는 많은 작업이 있고 하나의 작업에는 많은 하위 작업이 있습니다. 이Laravel 5.2에서 작업 ID를 사용하여 작업 이름을 인쇄하는 방법

프로젝트 모델

public function tasks(){ 
     return $this->hasMany('App\Task'); 
} 

작업 모델

public function subtasks(){ 
     return $this->hasMany(Subtask::class); 
    } 

하위 작업 모델

public function task(){ 
     return $this->belongsTo(Task::class); 
    } 

이 하위 내 하위 입력하여 양식/form.blade

각 모델과 나의 관계 .php

추가 내 양식 파일에

Route::get('projects/{projectId}/task/{taskId}/subtask', function ($projectId, $taskId) { 

    return view('subtasks/form',['projectId'=>$projectId,'taskId'=>$taskId]); 
}); 

하위 작업

<form class="form-vertical" role="form" method="post" action="{{ route('subtasks.form', ['projectId'=> $projectId, 'taskId'=>$taskId])}}"> 
    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 
    <input type="text" name="task_name" class="form-control" id="name" value="{{ old('task_name') ?: '' }}"> 
    @if ($errors->has('task_name')) 
     <span class="help-block">{{ $errors->first('task_name') }}</span> 
    @endif 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn btn-info">Create Task</button> 
    </div> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
</form> 

경로는 나는 $를 인쇄 할 수 있습니다 projectId 및 $ TASKID뿐만 아니라,하지만 지금은 내가이 작업을 수행 할 수있는 방법 ID에 대한 인쇄 프로젝트 이름 및 작업 _이 필요하십니까?

Route::get('projects/{projectId}/task/{taskId}/subtask', function ($projectId, $taskId) { 
    $project = \App\ProjectModel::find($projectId); 
    $task = \App\TaskModel::find(taskId); 
    return view('subtasks/form',['project'=>$project,'task'=>$task]); 
}); 

참고 :

업데이트 질문 내 하위 저장 방법

public function store(Request $request,$projectId,$taskId) 
    { 
     $subtask = new Subtask; 
     $subtask->subtask_name = $request->input('task_name'); 
     $subtask->task_id = $taskId; 
     $subtask->project_id = $projectId; 

     $subtask->save(); 
     // 
    } 

답변

1

당신은 너무 (Q & D 용액)처럼 할 수있는 참조하십시오 양식 동작에서, 당신은 것입니다 다음을 업데이트해야합니다.

['projectId'=> $projectId, 'taskId'=>$taskId] 
으로

:

['projectId'=> $project->id, 'taskId'=>$task->id] 
+0

이 새로운 변화 – John

+0

난 당신이 아무 것도 변경하지 않았다 준 코드에 따라 내 하위 저장 방법을 변경하는 방법을 내 업데이트 된 질문을 참조하시기 바랍니다. 보기에서 개체의 다른 속성에 액세스 할 수 있습니다. 그리고 당신의 업데이트 방법에는 여전히'$ projectId'와'$ taskId' 변수가 있습니다. 오류가 무엇입니까? –

+0

이 오류가 있습니다 ** 클래스 '프로젝트'를 찾을 수 없습니다 ** – John