Вы можете создать ссылку на себя
class Task extends Model{
public function tasks()
{
return $this->hasMany('App\Task', 'parent');
}
}
в вашем контроллере:
$tasks = Task::where('parent',0)->get();
return view ('tasks.index',compact('tasks'));
Затем сделать представление рекурсивным.
<div>
@foreach($tasks as $task)
{{$task->name}}
@if(count($task->tasks))
@include('tasks.index',['tasks' => $task->tasks])
@endif
@endforeach
</div>
(можетнужна некоторая очистка, чтобы не перепутать имена переменных, но вы получите общее представление)