我有一个包含任务列表的页面,我在每个任务上放置了一个锚标记,它将使用户转到:/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');
答案 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