2017-05-17 3 views
1

내가 혼란 또는 햇볕에 많이 가본 해요, 내가 상황 다음과 같은 경우 이 제품 Laravel은

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

을 편집 한 숨겨진 입력으로 URL 매개 변수를 보내기 전 추가/상점/1 제품을 편집하고있는 Shop에 대해 알아야하기 때문에 URL에

이제 컨트롤러에서 우리가 여기서 이야기하는 쇼핑 및 제품을 알아야합니다. 나는 업데이트 컨트롤러

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

에 PRODUCT_ID을 보내 다음과 같은 숨겨진 입력 필드를 사용하고 있습니다하지만 어떻게 업데이트 컨트롤러에 shop_id을받을 수 있나요.이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+0

의 $ 가게 변수가 아니다 @BilalAhmed 제어기 –

+0

에서 제품 가게의 값을 얻을 이보기에서 사용할 수 있습니다. 편집보기입니다. – Notflip

답변

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

+0

Request :: segment'ish를 사용할 때 내 데이터가 잘못되었거나 URL이 올바르게 작성되지 않았다는 느낌이 들었습니다. 모범 사례가 아니므로 왜 – Notflip

+0

괜찮습니까? 당신이 이것을 좋아하지 않으므로 다른 것을 필요로합니까? 다른 옵션도 있습니다. – Exprator

+0

내 ans을 편집하고, 마음에 드는지 확인하십시오. – Exprator

2

경로 f 또한

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

컨트롤러에서 ILE

Route::get('/shops/{shopid}/products/{productid}' , '[email protected]'); 

확인이 그래서

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

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

Route::post('/shops/{shop_id}/products/{product_id}/edit' , '[email protected]'); 

에 그리고 당신은 간단하게 할 수있는 컨트롤러에 유사한 경로가 용도. 이제 당신은 두 아이디가 있으며 원하는 것을 할 수 있습니다.

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