2015-09-22 19 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或其他。

相关问题