Retrieving Input
Abrufen aller Eingangsdaten
Sie können auch alle Eingabedaten als Array mit der all-Methode abrufen:
$input = $request->all();
Retrieving An Input Value
Mit ein paar einfachen Methoden können Sie auf alle Benutzereingaben aus Ihrer Illuminate\Http\Request-Instanz zugreifen, ohne sich Gedanken darüber zu machen, welches HTTP-Verb für die Anfrage verwendet wurde. Unabhängig vom HTTP-Verb kann die input-Methode verwendet werden, um Benutzereingaben abzurufen:
$name = $request->input('name');
Sie können der input-Methode einen Standardwert als zweites Argument übergeben. Dieser Wert wird zurückgegeben, wenn der angeforderte Eingangswert bei der Anforderung nicht vorhanden ist:
$name = $request->input('name', 'Sally');
Wenn Sie mit Formularen arbeiten, die Array-Eingaben enthalten, verwenden Sie die "Punkt"-Notation (dot notation), um auf die Arrays zuzugreifen:
$name = $request->input('products.0.name');
$name = $request->input('products.*.name');
Sie können die input-Methode ohne Argumente aufrufen, um alle Eingabewerte als assoziatives Array abzurufen:
$input = $request->input();
Retrieving Input From The Query String
Während die input-Methode Werte aus der gesamten Anforderungs-Nutzlast (einschließlich des Query-Strings) abruft, ruft die query-Methode nur Werte aus dem Query-String ab:
$name = $request->query('name');
Wenn die angeforderten Daten des Query-String-Wertes nicht vorhanden sind, wird das zweite Argument dieser Methode zurückgegeben:
$name = $request->query('name','Helen');
Sie können die query-Methode ohne Argumente aufrufen, um alle Werte der Abfragezeichenkette als assoziatives Array abzurufen:
$name = $request->query();
Retrieving Input Via Dynamic Properties
Sie können auch auf Benutzereingaben über dynamische Eigenschaften in der Instanz Illuminate\Http\Request zugreifen. Wenn beispielsweise eines der Formulare Ihrer Anwendung ein Namensfeld (name-field) enthält, können Sie auf den Wert des Feldes wie folgt zugreifen:
$name = $request->name;
Bei der Verwendung dynamischer Eigenschaften sucht Laravel zunächst nach dem Wert des Parameters in der Request-Payload. Wenn es nicht vorhanden ist, sucht Laravel nach dem Feld in den Routenparametern.
Retrieving JSON Input Values
Wenn Sie JSON-Anfragen an Ihre Anwendung senden, können Sie über die input-Methode auf die JSON-Daten zugreifen, solange der Content-Type-Header der Anforderung korrekt auf application/json gesetzt ist. Sie können sogar die "Punkt"-Syntax verwenden, um sich in JSON-Arrays zu vertiefen:
$name = $request->input('user.name');
Retrieving A Portion Of The Input Data
Wenn Sie eine Teilmenge der Eingabedaten abrufen müssen, können Sie die only-Methode und die except-Methode verwenden. Beide Methoden akzeptieren ein einzelnes Array oder eine dynamische Liste von Argumenten:
$input = $request->only(['username', 'password']);
$input = $request->only('username', 'password');
$input = $request->except(['credit_card']);
$input = $request->except('credit_card');
Die only-Methode gibt alle Schlüssel/Wertpaare zurück, die Sie anfordern; sie gibt jedoch keine Schlüssel/Wertpaare zurück, die bei der Anforderung nicht vorhanden sind.
Determining If An Input Value Is Present
Sie sollten die has-Methode verwenden, um zu bestimmen, ob ein Wert auf der Anforderung vorhanden ist. Die has-Methode gibt true zurück, wenn der Wert auf der Anforderung vorhanden ist:
if ($request->has('name')) {
//
}
Wenn ein Array angegeben wird, bestimmt die has-Methode, ob alle angegebenen Werte vorhanden sind:
if ($request->has(['name', 'email'])) {
//
}
Wenn Sie feststellen möchten, ob ein Wert auf der Anfrage vorhanden ist und nicht leer ist, können Sie die filled-Methode verwenden:
if ($request->filled('name')) {
//
}