Php 基于id字段查询数据库,但在Laravel的URL中传递标题

Php 基于id字段查询数据库,但在Laravel的URL中传递标题,php,laravel-5.1,Php,Laravel 5.1,这就是我要做的 我有一条明确的路线 Route::get('/{id}', [ 'uses' => 'questionsController@show' ]); 基本上,我正在使用Id在我的问题模型中搜索记录 在问题控制器中,show方法的代码为 public function show($id) { $question = questions::find($id); return view ('show', compact('question')); } 在另一个视图

这就是我要做的

我有一条明确的路线

Route::get('/{id}', [
'uses' => 'questionsController@show'
]);
基本上,我正在使用Id在我的问题模型中搜索记录

在问题控制器中,show方法的代码为

public function show($id)
{
    $question = questions::find($id);
    return view ('show', compact('question'));
}
在另一个视图中,我有以下代码

<a href = "/questions/"{{ $questions--> id }}> {{ $question->title }}</a>

基本上,我是用页面id锚定标题,以确保当有人点击链接时,他们被重定向/questions/id 这是查询id的地方

如何将锚定标记替换为问题的标题,使URL成为 /问题/我怎么游泳

但是模型是基于id查询的(因为id是主键)?

可以尝试使用

<a href="/questions/{{ $question->id }}">{{ $question->title }}</a>

这样,你的url就变成了/questions/ID\u OF_QUESTION,如果你想使用/questions/title这个问题,区别在于你需要改变你查询问题的方式。使用slug来识别问题,因为“我该如何摆动”没有正确解析URL,可能两个用户提出了相同的问题


使用问题的路径/问题/id/标题,但请注意,id后面的文本将是独立的

您需要的是url段塞

有一个名为“Elount Sluggable”的Laravel插件,专门为解决这个问题而构建。你可以在


文件比较好,;您会发现它很容易实现。

在您的model questions.php中?php?这就是你想要的:谢谢dlporter。我认为这个鼻涕虫是有道理的。