Php 按关系分组和按关系排序字段
我有一些型号需要按一定顺序列出。我有许多属于Php 按关系分组和按关系排序字段,php,laravel,eloquent,laravel-6,eloquent-relationship,Php,Laravel,Eloquent,Laravel 6,Eloquent Relationship,我有一些型号需要按一定顺序列出。我有许多属于项目的任务:一个项目可以有许多任务,几个任务可以属于许多项目 在我的TaskController@index我想列出所有任务,按Project.id和Project.updated\u分组。例如: Project 1 - Task 1 - Task 2 - Task 3 Project 2 - Task 1 - Task 2 - Task 3 如何在TaskController中以最简单的方式解决此问题?解决问题的关键是扩展与查询函数的关系: $t
项目的任务
:一个项目
可以有许多任务
,几个任务
可以属于许多项目
在我的TaskController@index
我想列出所有任务
,按Project.id
和Project.updated\u分组。例如:
Project 1
- Task 1
- Task 2
- Task 3
Project 2
- Task 1
- Task 2
- Task 3
如何在TaskController
中以最简单的方式解决此问题?解决问题的关键是扩展与查询函数的关系:
$this->hasMany('Task')->orderBy('updated_at')代码>
例如:
您的Project.php
模型:
<?php
class Project
{
public function tasks()
{
return $this->hasMany('Task')->orderBy('updated_at');
}
}
您的projects.blade.php
blade文件:
@foreach($projects as $project)
<p>{{$project->name}}</p>
<ul>
@foreach($project->tasks as $task)
<li>{{$task->name}}</li>
@endforeach
</ul>
@endforeach
@foreach($projects作为$project)
{{$project->name}
@foreach($project->tasks作为$task)
- {{$task->name}
@endforeach
@endforeach
laravel为您的任务提供了非常好的文档和简单的解决方案,请检查@Rebence我的回答是否引导您走上了正确的轨道?@PhilMarc不完全正确,但我用另一种方法解决了它。谢谢你的回答。
@foreach($projects as $project)
<p>{{$project->name}}</p>
<ul>
@foreach($project->tasks as $task)
<li>{{$task->name}}</li>
@endforeach
</ul>
@endforeach