我在 laravel 5.2 中有项目管理工具,这个应用程序有项目创建,一个项目有任务,每个任务都有子任务。目前我也在展示项目及其任务。现在我需要显示与每个项目和任务相关的子任务。项目->任务->子任务 这是我的任务置换方法
任务/index.blade.php
@foreach ($project->tasks as $task)
{{ $task->task_name }}
@endforeach
这在 projects/show.blade.php 中显示
<h5><b>Tasks List</b></h5>
@if($project)
@include('tasks.index')
@endif
现在我需要在 project/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
如何打印与每个任务相关的子任务?
最佳答案
您没有在您的问题中显示您希望输出 subtask
的位置。
但是,您基本上希望在使用 View 中的数据之前先将关系加载到 Controller 中,以避免为每个任务和子任务执行单独的查询。
// 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
关于php - 如何在 Laravel 5.2 中打印带有任务列表的子任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46882231/