2015-09-22 4 views
14

Ich verwende Laravel 5 und versuchen zu bekommen alle Eingaben von POST-Variable in der Steuerung wie this-, wie alle Eingabe von POST in Laravel 5

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

So zu bekommen, erhalte ich diese errors-

enter image description here

Was mache ich falsch?

+0

Was ist das Problem? – Cyrbil

+0

Nicht-statische Methode Illuminate \ Http \ Request :: all() sollte nicht statisch aufgerufen werden, angenommen $ that vom inkompatiblen Kontext –

Antwort

4

Sie sollten die Fassade statt Illuminate\Http\Request verwenden. Importieren Sie es an der Spitze:

use Request; 

Und stellen Sie sicher, dass es nicht in Konflikt mit der anderen Klasse.

+5

Falsch! Es wird auch GET-Variablen zurückgeben. – barbushin

+1

@ barbushin Die Frage war, wie die POST-Variablen abgerufen werden. Ich habe nie gesagt, dass es nicht auch GET-Variablen abruft. Bitte lesen Sie, bevor Sie kommentieren, und seien Sie kein Esel. –

+1

Wenn es eine GET-Anfrage sein wird, dann liefert 'return Request :: all();' GET-Variablen zurück. – barbushin

17

Versuchen Sie folgendes:

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

Falsch! Es wird auch GET-Variablen zurückgeben. – barbushin

+2

@barbushin, Wenn alle Antworten hier falsch sind, geben Sie hier die richtige Antwort an. –

0

seine besser, die Abhängigkeit zu verwenden, als es in die Klasse zum einhängen.

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

oder wenn Sie verwenden variable Eingabe verwendet bevorzugen

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

Sie können nun die globale Anfragemethode von Laravel bereitgestellt verwenden

request() 

zum Beispiel die first_name einer Formulareingabe zu erhalten .

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

Für diejenigen, die hierher kamen, suchen

nur „wie alle Eingabe von POST bekommen“

Klasse Illuminate\Http\Request von Symfony\Component\HttpFoundation\Request erstreckt, die zwei Klassenvariablen hat, die Anforderungsparameter speichern.

public $query - für GET-Parameter

public $request - für POST-Parameter

Verbrauch: Um einen Beitrag zu Daten erhalten nur

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

Quelle here

-1

Es sollte dies zumindest sein:

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

Sie können es

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

ohne

import Illuminate\Http\Request ODER

use Illuminate\Support\Facades\Request oder andere verwenden.