จากการสังเกตของฉัน :
$request->request->add(['variable' => 'value']);
จะ (ส่วนใหญ่) ในการทำงานในPOST, PUT ลบวิธีการเพราะมีค่า (s) _token
ผ่านไปหนึ่งในนั้นคือ เช่นตัวอย่างด้านล่าง
<form action="{{ route('process', $id) }}" method="POST">
@csrf
</form>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
แต่ [รหัสด้านล่าง] จะไม่ทำงานเนื่องจากไม่มีการส่งผ่านค่าจึงไม่ได้เพิ่ม
<a href='{{ route('process', $id) }}'>PROCESS</a>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
เมื่อใช้
เมธอด GETคุณสามารถประกาศ
คำขอและกำหนดค่าได้โดยตรง ชอบด้านล่าง:
public function process($id){
$request = new Request(['id' => $id]);
}
หรือคุณสามารถใช้merge
. สิ่งนี้ดีกว่า$request->request->add(['variable' => 'value']);
เนื่องจากสามารถเริ่มต้นและเพิ่มค่าการร้องขอที่จะใช้ได้กับทุกวิธี ( GET , POST , PUT , DELETE )
public function process(Request $request, $id){
$request->merge(['id' => $id]);
}
แท็ก: laravel5.8.11
$request->all()
อาร์เรย์หรือไม่