2017-03-03 200 views
1

我在網站上有一個webhook,這樣當執行某個動作時,我的Laravel應用程序中的一個函數將使用PUT方法執行。 webhook具有以下url來執行app.myapp.com/sync/documents/gt?salesID=12345Laravel在URL中傳遞參數

如何在Laravel中接收此參數?

這是我的路線:

Route::put('/sync/vendus/documents/gt', '[email protected]'); 

然後在我的方法,我有:

public function postVendusGT($request){ 
    dd($request->salesID); 
} 

但我發現了以下錯誤:

Missing argument 1 for App\Http\Controllers\SyncController::postVendusGT()

上午我做對了嗎?

回答

3

你需要注入請求對象,這意味着添加的類型。這告訴Laravel第一個參數必須是請求對象而不是url參數。

public function postVendusGT(Request $request) { 
    dd($request->salesID); 
} 

更多信息可在the documentation找到。

+0

我剛來這裏寫一個答案,因爲我剛剛意識到我失蹤的xp謝謝你的詳細解答! –

+0

很高興我能幫到你。考慮將此標記爲答案,以便有相同問題的人可以在此找到解決方案。 :) – Jerodev

4

你要的類型提示$request

public function postVendusGT(Request $request) 
1

提供此一對夫婦的替代品:

public function postVendusGT(){ 
    dd(\Request::get("salesID")); 
} 

public function postVendusGT(){ 
    $request = resolve('request'); 
    dd($request->salesID); 
} 

萬一依賴注入是不可能在一個給定的情景。