缺少[Route:reviews.show]所需的参数(来自控制器)

问题描述 投票:1回答:3

我想从控制器路由新页面,我在传递路由时成功获取数据,但出现错误。

这是我控制器的特定部分-

 $use = User::find($user->id);
        $pos = posts::find($post->id);
        //dd($user1, $post1);
        return redirect()->route('reviews.show', $pos, $use);

在web.php部分-

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

在显示方法中-

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

当您将2个参数传递给路由时,将它们作为数组发送

return redirect()->route('reviews.show', [ $pos, $use ]);

这是您的问题


2
投票

您必须这样使用

return redirect()->route('reviews.show', ['posts' => $pos, 'user' => $use]);

2
投票

route()调用通常将URL参数作为关联数组。您正在为此使用辅助功能,但它仍然适用。

redirect()->route('reviews.show', ['posts' => $pos, 'user' => $use]);
© www.soinside.com 2019 - 2024. All rights reserved.