Laravel路线不适用于slu ..

时间:2018-05-13 20:57:58

标签: laravel laravel-5

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>

1 个答案:

答案 0 :(得分:2)

您必须指定在路径功能中使用slug作为id:

{{route('task.show', $task->slug)}}