Laravel将URL参数作为隐藏输入发送

时间:2017-05-17 12:12:28

标签: php laravel

我在阳光下很困惑或太过分了,我有以下情况 当编辑产品

http://app.dev/shops/1/products/2/edit
  

我在网址中添加了/ shops / 1,因为我需要知道我正在编辑产品的商店。

现在在控制器中,我需要知道我们在这里谈论的商店和产品。 我正在使用以下隐藏的输入字段将product_id发送到更新控制器

<input type="hidden" name="product" value="{{ $product->id }}">

但是如何将shop_id送到更新控制器。最好的方法是什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

路线档案

Route::get('/shops/{shopid}/products/{productid}' , 'testController@gettest');

在控制器中

Input::get('shops');
Input::get('products');

并检查此

Route::get('/', function(){

    echo Input::get('shops');
    echo Input::get('products');
});

答案 1 :(得分:1)

laravel方式

 {{ Request::segment(3) }} 

将为您提供ID,您可以在隐藏输入中或根据需要传递

PHP方式

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

$shop = explode('/', $actual_link);
$shop_id = $shop[1/2/3 or 4]; 

//取决于商店ID的来源,您可以通过打印$shop

进行检查

答案 2 :(得分:0)

所以你有一条类似于此的路线

Route::post('/shops/{shop_id}/products/{product_id}/edit' , 'TestController@edit');

在您的控制器中,您可以简单地使用。现在你有两个ID,可以做你想做的事。

public function edit($shop_id, $product_id) {
    //do what you want
}