Php 未找到路由laravel
我得到一个错误Php 未找到路由laravel,php,laravel,laravel-5,Php,Laravel,Laravel 5,我得到一个错误404 |未找到,当路由存在且调试器处于打开状态时,我已清除路由缓存,但仍然显示错误,当我php artisan route:list它显示POST | products/{product}/收藏夹| product.fav.store | App\Http\Controllers\HomeController@store我如何解决这个问题 控制器 public function store(Request $request, Product $product) { $re
404 |未找到
,当路由存在且调试器处于打开状态时,我已清除路由缓存
,但仍然显示错误,当我php artisan route:list
它显示POST | products/{product}/收藏夹| product.fav.store | App\Http\Controllers\HomeController@store
我如何解决这个问题
控制器
public function store(Request $request, Product $product)
{
$request->user()->favouriteProducts()->syncWithoutDetaching([$product->id]);
return back();
}
刀片
你应该像这样改变你的路线
<form action="{{ route('product.fav.store', ['product' => $product->id]) }}" >
试试这个
<form method="POST" action="{{ route('product.fav.store', ['product' => $product->id]) }}">
试试这个:
<form id="product-fav-form" class="hidden" action="{{route('product.fav.store', $product->name)}}" method="POST">
action=“{route('product.fav.store',$product)}}”
在action
之后和route
url之前有空格。在这个过程中,你应该传递产品id。$product->id
我已经更改了表单,看起来是这样的{csrf_field()}
,但是我仍然得到了这个产品变量所包含的404
@laravelwhat??404页面显示时生成的url是什么?首先在呈现视图中检查路由是否正确(使用inspect),如果正确,尝试将exit(‘route works’)作为函数的第一行,查看路由本身是否至少指向函数。product变量保存产品信息,例如price,图像等,生成的url是http://127.0.0.1:8000/products/6/favourites
@zahidhasanemonI在我问这个问题时没有把它说对,但在我的代码中,它是这样的@AmitSenjaliya@joh您已将$product
作为参数传递,但$prodcut
表示id
或name
,如果我更改为{route('product.fav.store',$product->name)}
我得到一个错误缺少[route:product.fav.store]所需的参数
@AmitSenjeliya@joh可能$product->name
为空。尝试使用product->id
如果我使用$product->id
它会显示404
error@Amit senjaliya,没有显示任何错误,但它会返回页面,而不将产品添加到收藏夹(表示按钮不起作用)@jithesh joseca可以在$request->user()之前放置dd('here')
)->FavoriteProducts()->同步而不分离([$product])
检查调用是否已到达控制器函数..如果我在此处显示dd('here'),则说明该调用有问题..put$request->user()->favoriteProducts()->syncwithout分离($product)
和try未添加产品@jithesh joseth,导致错误缺少[Route:product.fav.store]
@Elonelon所需的参数
<form method="POST" action="{{ route('product.fav.store', ['product' => $product->id]) }}">
public function store(Request $request,$product)
{
$request->user()->favouriteProducts()->syncWithoutDetaching($product);
return back();
}
<form id="product-fav-form" class="hidden" action="{{route('product.fav.store', $product->name)}}" method="POST">
public function store(Request $request, $name) {
$request->user()->favouriteProducts()->syncWithoutDetaching($name);
return back();
}