Na podstawie moich obserwacji :
$request->request->add(['variable' => 'value']);
będzie (głównie) działać w metodach POST, PUT i DELETE , ponieważ są przekazywane wartości, jedna z nich jest _token
. Jak przykład poniżej.
<form action="{{ route('process', $id) }}" method="POST">
@csrf
</form>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Ale [poniższy kod] nie zadziała, ponieważ nie ma przekazanych wartości, tak naprawdę nie dodaje.
<a href='{{ route('process', $id) }}'>PROCESS</a>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Korzystając z metody
GET , możesz zadeklarować
żądanie i bezpośrednio przypisać do niego wartości. Jak poniżej:
public function process($id){
$request = new Request(['id' => $id]);
}
Lub możesz użyć merge
. W rzeczywistości jest to lepsze niż $request->request->add(['variable' => 'value']);
ponieważ można zainicjować i dodać wartości żądań, które będą działać dla wszystkich metod ( GET , POST , PUT , DELETE )
public function process(Request $request, $id){
$request->merge(['id' => $id]);
}
Tag: laravel5.8.11
$request->all()
tablicy?