Laravel 6 – EP7 การเรียกใช้ Request

Request ของ Laravel คือ HTTP Request ที่รับข้อมูลจาก Client มาเพื่อส่งไปให้กับตัว SERVER ตัวอย่างเช่นผู้ใช้ทำการกรอกข้อมูลสมาชิกผ่านฟอร์ม แล้วกด Submit ตอนกด Submit แล้วข้อมูลพวกนี้จะเรียกว่า Request  นั้นเอง แล้วข้อมูล Request เหล่านี้จะถูกส่งมาที่ Controller สำหรับบทความเนื้อหานี้จะมาแนะนำการใช้งาน และอธิบายให้ผู้อ่านได้เข้าใจง่ายๆและเห็นภาพชัดเจน

การนำมาใช้งาน

จากการที่ยกตัวอย่างคือเมื่อเรา กรอกข้อมูลฟอร์มสมาชิกแล้วกด submit แล้ว เราต้องการส่งข้อมูลไปยัง controller ที่มี Method ชื่อว่า store() เราจะเขียนโค๊ดตามตัวอย่างด้านล่างนี้

จากตัวอย่างโค๊ดด้านบน นั้น เรามีการส่งค่า name, age จากฟอร์มสมาชิก มาที่ controller > method store การรับค่าให้เราใช้ dependency injection ที่ชื่อว่า Request

และ Request เราต้องเรียกใช้ก่อน โดยใช้คำสั่ง use Illuminate\Http\Request

การใช้งาน Request พร้อมกับ parameter

หากเราต้องการส่งค่า Request และ Parameter ไปที่ Controller มาพร้อมกัน เราต้องใส่ Request ไปก่อนแล้วถึงใส่ Parameter ตามไป ลองดูโค๊ดตัวอย่างด้านล่าง

กำหนดเส้นทาง routes/web.php

เขียนโค๊ดใน controller ตามด้านล่างนี้

การใช้ Request รับข้อมูลแบบ Dynamic

เราสามารถรับข้อมูลแบบ Dynamic ได้เช่น ปกติเรารับข้อมูลจากฟอร์มเราใช้ $request->input(‘name’) แต่เราสามารถรับแบบ $request->name ก็ได้

การใช้ Request รับข้อมูลแบบ Old Input

ในบางครั้งเรากด submit แล้วข้อมูลที่ส่งไปให้กับ server ตรวจสอบแล้วมีข้อมูลซ้ำ หรือไม่ผ่านการตรวจสอบจาก server เราจะให้กลับไปกรอกใหม่ ดังนั้นเมื่อกลับไปกรอกข้อมูลใหม่ กลับพบว่าข้อมูลฟอร์มที่เรากรอกๆ ไปนั้นได้หายไป ดังนั้น laravel มีคำสั่ง old input ให้ใช้ โดยตอนที่เรากด submit ไปที่ Controller ให้เราใช้โค๊ด

 เพื่อเก็บค่าตัวแปรไว้ชั่วคราว และเมื่อเกิด error มีการกลับไปหน้าฟอร์มเดิม ให้เรานำ old input มาใช้โดยใช้คำสั่งจากตัวอย่างด้านล่าง แบบนี้ใน blade view

กรณีเราไม่ต้องการเก็บตัวแปรไว้ เราสามารถยกเว้นได้ โดยเราเขียนคำสั่งใน Laravel Controller แบบนี้

หรือหากต้องการเก็บตัวแปรชั่วคราวบางตัวแปร สามารถเขียนคำสั่งใน Laravel Controller แบบนี้

สรุป

สำหรับบทความนี้ก็จบการนำเสนอในเรื่องของการรับข้อมูลจากฟอร์ม เพื่อส่งมาที่ Controller ว่าทำอย่างไรรับอย่างไร หากมีข้อสงสัย เพิ่มเติมสามารถเขียนคอมเม้นมาสอบถามได้ และทางผู้เขียนหวังว่าบทความนี้จะเป็นประโยชน์กับหลายๆคนที่เริ่มศึกษา laravel ไม่มากก็น้อย อย่างไรก็อย่าลืมติดตามบทความสอน laravel ในเว็บ itoffside.com ด้วยนะครับ ขอบคุณครับ

You May Also Like

About the Author: benext

โปรแกรมเมอร์ ติดต่อ : itoffside@hotmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.