php - 如何在 Laravel 5.2 中打印带有任务列表的子任务

标签 php mysql laravel-5

我在 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/

相关文章:

php - 如何在 php 和 mysql 中的特定行周围放置一条虚线

php - 如何制作 HTML 输入字段文本区域,使其由其值的大小决定

php - jquery自动完成标签问题

iphone - 如何以编程方式从 iPhone 将数据插入 mysql

php - 按类型分割的用户偏好

javascript - Vue JS 组件间数据可用性

php - 用php服务外部文件下载

php - MYSQL查询开始时间和结束时间

php - IF ROW_COUNT() 返回错误

php - 使用 Laravel 和希伯来语进行 URL 编码