route()函数不会生成带有slug的url
路由/ web.php
Route::get('/tasks/{task}', 'TasksController@show')->name('task.show');
任务模型
public function getRouteKeyName()
{
return 'slug';
}
任务控制器
public function show(Tasks $task){
$task_full = Tasks::with('tags')->find($task->id);
return view('tasks.show', ['task'=>$task_full]);
}
最后我的视图中的route()函数按照我没想到的方式工作。它生成这样的url - laravel.test / tasks / 3。 我希望它能使用slu ..
<a href="{{route('task.show', ['task'=>$task])}}"><li>{{$task->body}}</li></a>
答案 0 :(得分:2)
您必须指定在路径功能中使用slug作为id:
{{route('task.show', $task->slug)}}