2017-10-15 3 views
0

私はlaravel 5.2を使用してプロジェクト管理アプリケーションを開発しており、アプリケーションを作成するにはプロジェクトを作成できます。これは、これがサブタスク/ form.bladeで私のサブタスクの入力フォームで、各モデルと私の関係Laravel 5.2でtaskIdを使用してタスク名を印刷するにはどうすればいいですか?

プロジェクトモデル

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

タスクモデル

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

サブタスクモデル

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

です.php

追加私のフォームファイルでサブタスク
<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> 

ルート

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

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

私も$ PROJECTIDと$のtaskIdを印刷することができますが、今、私はこれを行うことができますどのようにIDSに係る印刷PROJECT_NAMEとタスク名を必要ですか?

更新質問 あなたはとても(Q & D液)のように行うことができます

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

私のサブタスクストアメソッドを参照してください。

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]); 
}); 

注:フォームのアクションでは、あなたは意志次の情報を更新する必要があります。

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

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

は、この新しい変更 – John

+0

私は何も変わっていなかった与えたコードに従って私のサブタスクストアの方法を変更する方法を私の更新の質問を参照してください。それはあなたのビュー内のオブジェクトの他のプロパティにアクセスすることができます。そしてあなたの更新メソッドでは、 '$ projectId'と' $ taskId'変数があります。エラーは何ですか? –

+0

このエラーが発生しました**クラス 'プロジェクト'が見つかりません** – John

関連する問題