亲爱的所有好人,
我正在使用Laravel 5.2创建一个电子商务平台(非常新的),我想制作一个锚标记,当你点击它时会将GET值传递给路线。它实际上转到下面的链接 http://localhost:8000/products/803160151?product_choice_id=1 但改为404页面。我想是我以错误的方式编写了路由功能?请在下面找到我的代码供您参考,如果您需要更多信息,请告诉我。感谢。
routes.php文件
Route::get('products/{product_code}?product_choice_id={product_choice_id}', function($product_code, $product_choice_id){
$product = Product::where('product_code',$product_code)->firstOrFail();
$product_choice = Product_Choice::where('id', $product_choice_id)->get();
$reviews = Review::where('product_id', $product->id)->get();
$stars = Review::where('product_id', $product->id)->pluck('stars');
if(count($stars)){
$total_stars = collect($stars)->sum()/count($stars);
} else {
$total_stars = "not rated yet";
};
return view('products.details')
->with('product', $product)
->with('product_choice',$product_choice)
->with('reviews',$reviews)
->with('stars',$stars)
->with('total_stars',$total_stars);
});
interface.blade.php
@php
$product_choice = App\Product_Choice::where('product_id',$product->id)->where('default',1)->firstOrFail()
@endphp
<a class="aa-product-img" href="{{ url('/products').'/'.$product->product_code.'?product_choice_id='.$product_choice->id }}">
答案 0 :(得分:0)
您无需定义参数。只需定义路线
Route::get('prdoucts/{product_code}', function(Request $request) {
$product_choice_id = $request->input('product_choice_id');
});
别忘了添加
use Illuminate\Http\Request;
在请求中,您将找到所有GET参数。这也适用于post / put / patch / delete - 当然你需要定义使用这些方法的路径