如何在路由视图中传递字符串而不是主int键

问题描述 投票:0回答:2

我想在laravel的路线视图中传递名称。举个例子-在web.php

Route::get('p/{posts}/review/{user}','ReviewController@show')->name('reviews.show'); 

它传递了主键,postsuser的ID。我想传递用户名。

我的显示方法-

 public function show($posts, $user)
    {
        return view('posts.reviews.reviewshow', ['posts' => $posts], ['user' => $user]);
    }
laravel view routes
2个回答
0
投票

在调用route()方法的地方,请使用route('reviews.show', ['posts' => $posts, 'user' => $user->name])。为了更清楚,我建议将{user}重命名为{userName}。


0
投票

首先您必须更改路线

Route::get('p/{post}/review/{user}','ReviewController@show')->name('reviews.show');

然后在您的控制器中这样使用

public function show(Post $post, User $user)
{   
     return view('posts.reviews.reviewshow', ['post' => $post,'user' => $user]);
}
© www.soinside.com 2019 - 2024. All rights reserved.