Dựa trên quan sát của tôi :
$request->request->add(['variable' => 'value']);
(hầu hết) sẽ hoạt động trong các phương thức POST, PUT & DELETE , bởi vì có (các) giá trị được truyền, một trong những giá trị đó là _token
. Như ví dụ bên dưới.
<form action="{{ route('process', $id) }}" method="POST">
@csrf
</form>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Nhưng [mã bên dưới] sẽ không hoạt động vì không có (các) giá trị nào được chuyển, nó không thực sự thêm vào.
<a href='{{ route('process', $id) }}'>PROCESS</a>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
Khi sử dụng phương thức
GET, bạn có thể khai báo
Yêu cầu và gán (các) giá trị trực tiếp cho nó. Như bên dưới:
public function process($id){
$request = new Request(['id' => $id]);
}
Hoặc bạn có thể sử dụng merge
. Điều này thực sự tốt hơn $request->request->add(['variable' => 'value']);
vì có thể khởi tạo và thêm giá trị yêu cầu sẽ hoạt động cho tất cả các phương thức ( GET , POST , PUT , DELETE )
public function process(Request $request, $id){
$request->merge(['id' => $id]);
}
Tag: laravel5.8.11
$request->all()
mảng không?