在Laravel中路由锚标签的最佳方法

时间:2018-08-10 18:55:50

标签: php laravel anchor

我有一个包含任务列表的页面,我在每个任务上放置了一个锚标记,它将使用户转到:/tasks/{{id}}

这有效:<a href="/tasks/{{$task->id}}"><h4>{{$task->title}}</h4></a>

我想知道是否有更好的方法来解决这个问题?

这是我的控制器的外观:

public function show($id) {
   $task = Task::find($id);
   return view('layouts.show')->with('task', $task);
}

我的web.php文件:

Route::resource('tasks', 'TasksController');

1 个答案:

答案 0 :(得分:1)

如果您不想一直对网址进行硬编码,请使用route name

因为您正在使用Route::resource('tasks', 'TasksController');

https://laravel.com/docs/5.6/controllers#resource-controllers

tasks.show是路线名称

{{ route('tasks.show', $task) }}

因此,有一天,如果您想更改路线的uri,只需编辑web.php

,您还可以使用路由模型绑定

public function show(Task $task) {
   return view('layouts.show', compact('task'));
}

此命令可以帮助您制作控制器和模型

php artisan make:controller TestController --resource --model=Models\Test