Laravel 5.3将参数从视图传递给控制器

时间:2016-11-07 18:39:11

标签: php laravel

我正在网上开店,所以它有产品。我正在输出所有产品图片及其名称,我希望当用户点击产品将其重定向到单个产品页面时,我遇到的问题是将产品的ID传递给单一产品视图。

这是我的代码路由:

Route::get('single', [
    "uses" => 'ProductsController@single',
    "as" => 'single'
]);

Index.blade.php:

<a href="{{ route('single', $product->product_id) }}" class="link-product-add-cart">See product</a>

控制器:

public function single($product_id)
{
    $product = Product::where('product_id', $product_id);

    return view('single-product', compact("product"));
}

2 个答案:

答案 0 :(得分:0)

如下所示更改路线:

Route::get('single/{product_id}', [
    "uses" => 'ProductsController@single',
    "as" => 'single'
]);

如果要将任何参数传递给路径,则需要为参数指定占位符,因此在您的情况下,{product_id}将用作占位符,用于从中获取参数URI,例如:http://example.com/single/1。因此,您将在单一方法中收到1 $product_id

答案 1 :(得分:0)

您需要在route中捕获URI的细分。

Route::get('single/{id}', [
    "uses" => 'ProductsController@single',
    "as" => 'single'
]);