การกำหนดจำนวนมากเป็นกระบวนการในการส่งข้อมูลจำนวนมากซึ่งจะถูกบันทึกลงในโมเดลที่ระบุในคราวเดียว โดยทั่วไปคุณไม่จำเป็นต้องบันทึกข้อมูลในแบบจำลองของคุณแบบทีละแบบ แต่จะทำในขั้นตอนเดียว
การมอบหมายจำนวนมากนั้นดี แต่ก็มีปัญหาด้านความปลอดภัยอยู่บ้าง จะเกิดอะไรขึ้นถ้ามีคนส่งค่าไปยังโมเดลและไม่มีการป้องกันพวกเขาสามารถแก้ไขฟิลด์ทั้งหมดรวมถึง ID ได้อย่างแน่นอน นั่นไม่ดีเลย
สมมติว่าคุณมีตาราง 'นักเรียน' พร้อมเขตข้อมูล "student_type, first_name, last_name” . คุณอาจต้องการที่จะมวลกำหนด 'first_name, last_name' แต่คุณต้องการที่จะปกป้อง student_typeจากการเปลี่ยนแปลงโดยตรง. ที่ที่ fillableและเตรียมพร้อมใช้สถานที่
Fillable ช่วยให้คุณระบุฟิลด์ที่สามารถกำหนดได้โดยรวมในโมเดลของคุณคุณสามารถทำได้โดยเพิ่มตัวแปรพิเศษ$fillable
ให้กับโมเดล ดังนั้นในรูปแบบ:
class Student extends Model {
protected $fillable = ['first_name', 'last_name']; //only the field names inside the array can be mass-assign
}
ไม่รวม' student_type ' ซึ่งหมายความว่าได้รับการยกเว้น
เตรียมพร้อมคือสิ่งที่ตรงกันข้ามของ fillable ถ้า fillable ระบุว่าจะต้องกำหนดฟิลด์ใดให้เป็นจำนวนมาก guarded จะระบุว่าฟิลด์ใดที่ไม่สามารถกำหนดค่าได้จำนวนมาก ดังนั้นในรูปแบบ:
class Student extends Model {
protected $guarded = ['student_type']; //the field name inside the array is not mass-assignable
}
คุณควรใช้ $ fillable หรือ $ guarded ไม่ใช่ทั้งสองอย่าง
สำหรับรายละเอียดเพิ่มเติมเปิดลิงก์: - การมอบหมายจำนวนมาก