Php Larvel 8:如何更改Uri

Php Larvel 8:如何更改Uri,php,laravel,laravel-8,Php,Laravel,Laravel 8,我有这样一个链接: public function changeUri($id) { $show = Question::where('id', $id)->first(); $this->showQuestion($show->slug); } 我为question/{id}uri设置了这个路径: Route::get('question/{id}',[QuestionController::class,'changeUri']) 方法changeUri

我有这样一个链接:

public function changeUri($id)
{
    $show = Question::where('id', $id)->first();

    $this->showQuestion($show->slug);
}

我为
question/{id}
uri设置了这个路径:

Route::get('question/{id}',[QuestionController::class,'changeUri'])

方法
changeUri
如下所示:

public function changeUri($id)
{
    $show = Question::where('id', $id)->first();

    $this->showQuestion($show->slug);
}
如您所见,我调用了
showQuestion
method,这是在同一
Controller
中编写的另一个方法,如下所示:

public function showQuestion($slug)
{
    $show = Question::where('slug', $slug)->first();

    return view('questions.question',[
        'show' => $show,
    ]);
}
最后,
question.blade.php
通过以下路径显示结果:

Route::get('questions/{slug}', [QuestionController::class, 'showQuestion'])->name('show.question');
这里的要点是将uri从
question/{id}
更改为
questions/{slug}
,这样上面的路由就可以运行了

现在的问题是,当我点击这个链接时,它会显示一个空屏幕。。。我的意思是完全没有错误和结果

那么这里出了什么问题?如何解决此问题?有没有更好的方法来更改uri

如果您能与我分享任何有关这方面的想法或建议,我将不胜感激

提前感谢…

而不是打电话

$this->showQuestion($show->slug);
内部更改URI方法

你可以像这样重定向

return redirect()->route('show.question', ['slug' => $show->slug]);
而不是打电话

$this->showQuestion($show->slug);
内部更改URI方法

你可以像这样重定向

return redirect()->route('show.question', ['slug' => $show->slug]);

laravel 8设定路线:

<a href="{{route('question',$slug->id)}}">Link</a>

laravel 8设置该路线:

<a href="{{route('question',$slug->id)}}">Link</a>