2017-10-23 4 views
1

私はlaravel 5.2にプロジェクト管理ツールを持っています。このアプリケーションにはプロジェクト作成があり、プロジェクトにはタスクがあり、各タスクにはサブタスクがあります。現在私はプロジェクトとそのタスクも表示しています。今私は各プロジェクトとタスクに関連する表示サブタスクの魔女が必要です。プロジェクト - > task->サブタスク これはindex.blade.phpタスクリストをlaravel 5.2で印刷する方法012

@foreach ($project->tasks as $task) 
{{ $task->task_name }} 
@endforeach 

これは、プロジェクト/ show.blade.phpに

<h5><b>Tasks List</b></h5> 
@if($project) 
    @include('tasks.index') 
@endif 
をdisplaingれる方法

タスクを/変位私の仕事です

今私はプロジェクト/ show.blade.phpの表示タスクのサブタスクが必要です

これは私のサブタスクストアメソッドです

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(); 

     return redirect()->back()->with('info', 'Task created successfully'); 
} 

これはサブタスクテーブル

id subtask_name task_id project_id 
1  abc   1   1 
2  hfy   2   1 
3  jhu   2   2 
5  lop   1   3 

どのように私は私のサブタスクは、各タスクに関連する印刷することができますがありますか?

+0

私はあなたには、いくつかの関係を見る必要 – John

+0

...いくつかのガイドラインが必要になります。https://laravel.com/docs/5.5/eloquent-relationships – madalinivascu

+0

私はあなたがして、プロジェクト、タスクやサブタスクテーブル – John

答えて

1

subtaskの出力先は質問には表示されていません。

しかし、基本的には、ビュー内のデータを使用する前に、すべてのタスクとサブタスクに対して別々のクエリを実行しないように、コントローラ内のリレーションを熱心にロードする必要があります。

// ProjectController 
// You may have other conditions, etc on your query. But you want to use `with('tasks.subtasks')` 
$project = Project::with('tasks.subtasks')->find(1); 

// project/show.blade.php 
@foreach ($project->tasks as $task) 
    {{ $task->task_name }} 
    @foreach ($task->subtasks as $subtask) 
     {{ $subtask->subtask_name }}    
    @endforeach 
@endforeach 
+0

私のサブタスクをproject/show.blade.phpファイルに印刷する必要があります。私の質問にファイルを表示する私の仕事を参照してください – John

+0

このコードの意味は簡単に説明できます** $ projects = Project :: with( 'tasks.subtasks') - > get(); ** – John

+1

'with() '関数は積極的な負荷モデルの関係になります(ネストされた関係でも機能します)。 Laravelは、見つかったすべてのモデルに対して 'WHERE id IN(...)'クエリを使用してこれを行います。したがって、同じデータを遅延読み込みするよりもはるかに少ないクエリを使用してデータをロードします。 – fubar

関連する問題