2015-09-22 22 views
14

我使用Laravel 5並試圖獲得POST變量的所有輸入控制器像這個 -如何獲得信息的所有輸入Laravel 5

public function add_question() 
{ 
    return Request::all(); 
} 

所以,我得到這個錯誤 -

enter image description here

我做錯了什麼?

+0

是什麼問題? – Cyrbil

+0

非靜態方法Illuminate \ Http \ Request :: all()不應被靜態調用,假設$ this來自不兼容的上下文 –

回答

4

您應該使用門面而不是Illuminate\Http\Request。導入它在頂部:

use Request; 

並確保它不與其他類衝突。

+5

錯誤!它也會返回GET變量。 – barbushin

+1

@barbushin問題是如何檢索POST變量。我從來沒有說過它不會檢索GET變量。請在評論前閱讀,不要成爲屁股。 –

+1

如果它是GET請求,那麼'return Request :: all();'將返回GET變量。 – barbushin

17

試試這個:

use Illuminate\Support\Facades\Request; 
public function add_question(Request $request) 
{ 
    return $request->all(); 
} 
+5

錯!它也會返回GET變量。 – barbushin

+2

@barbushin,如果這裏的所有答案都是錯誤的,請在此提供正確的答案。 –

0

其更好地利用相關性比它隨員類。

public function add_question(Request $request) 
{ 
    return Request::all(); 
} 

,或者如果你喜歡使用的輸入變量使用

public function add_question(Request $input) 
{ 
    return $input::all(); 
} 

您現在可以使用laravel

request() 

例如提供的全局請求方法來獲取表單輸入的FIRST_NAME 。

request()->first_name 
// or 
request('first_name') 
2

對於那些誰來到這裏尋找「如何獲得信息的所有輸入」只

Illuminate\Http\RequestSymfony\Component\HttpFoundation\Request具有存儲請求參數的兩個類變量延伸。

public $query - 爲GET參數

public $request - 爲POST參數

使用方法:爲了得到一個職位數據僅供

$request = Request::instance(); 
$request->request->get('my_param'); 

來源here

-1

應當至少這樣的:

public function login(Request $loginCredentials){ 
    $data = $loginCredentials->all(); 
    return $data['username']; 
} 
0

你可以用它

$params = request()->all(); 

沒有

import Illuminate\Http\Request OR

use Illuminate\Support\Facades\Request或其他。

相關問題