Basierend auf meinen Beobachtungen :
$request->request->add(['variable' => 'value']);
funktioniert (meistens) in POST-, PUT- und DELETE- Methoden, da Werte übergeben werden, einer davon ist _token
. Wie Beispiel unten.
<form action="{{ route('process', $id) }}" method="POST">
@csrf
</form>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Aber [unter Code] funktioniert nicht, da keine Werte übergeben wurden, es wird nicht wirklich hinzugefügt.
<a href='{{ route('process', $id) }}'>PROCESS</a>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Bei Verwendung der
GET- Methode können Sie entweder
Request deklarieren und direkt Werte zuweisen. Wie unten:
public function process($id){
$request = new Request(['id' => $id]);
}
Oder Sie können verwenden merge
. Dies ist tatsächlich besser, als $request->request->add(['variable' => 'value']);
weil Anforderungswerte initialisiert und hinzugefügt werden können, die für alle Methoden funktionieren ( GET , POST , PUT , DELETE ).
public function process(Request $request, $id){
$request->merge(['id' => $id]);
}
Tag: laravel5.8.11
$request->all()
Array Schlüsselwerte hinzufügen ?