
พื้นฐาน Eloquent ORM
Models, การดำเนินการ CRUD, query builder, mass assignment, timestamps, soft deletes, accessors, mutators
1Eloquent ใช้รูปแบบการตั้งชื่อแบบใดโดยค่าเริ่มต้นเพื่ออนุมานชื่อตารางจากชื่อ model?
Eloquent ใช้รูปแบบการตั้งชื่อแบบใดโดยค่าเริ่มต้นเพื่ออนุมานชื่อตารางจากชื่อ model?
คำตอบ
Eloquent ใช้รูปแบบ snake_case พหูพจน์ของชื่อคลาสเพื่ออนุมานชื่อตาราง ตัวอย่างเช่น model User สอดคล้องกับตาราง users และ BlogPost สอดคล้องกับ blog_posts ข้อกำหนดนี้สามารถแทนที่ได้โดยกำหนดพร็อพเพอร์ตี้ $table ใน model
2เมธอด Eloquent ใดที่อนุญาตให้สร้างและบันทึก model ใหม่ในการดำเนินการเดียว?
เมธอด Eloquent ใดที่อนุญาตให้สร้างและบันทึก model ใหม่ในการดำเนินการเดียว?
คำตอบ
เมธอด create() อนุญาตให้สร้างและบันทึก model ในการดำเนินการเดียวโดยรับอาร์เรย์ของแอตทริบิวต์ โดยต้องให้แอตทริบิวต์ระบุอยู่ในพร็อพเพอร์ตี้ $fillable หรือกำหนด $guarded เพื่อป้องกัน mass assignment ต่างจาก new Model() ตามด้วย save() เมธอด create() รวมสองขั้นตอนนี้เข้าด้วยกัน
3จะเกิดอะไรขึ้นหากพยายาม mass assignment แอตทริบิวต์ที่ไม่ได้อยู่ใน $fillable?
จะเกิดอะไรขึ้นหากพยายาม mass assignment แอตทริบิวต์ที่ไม่ได้อยู่ใน $fillable?
คำตอบ
Laravel จะโยน exception MassAssignmentException เพื่อป้องกันช่องโหว่ของ mass assignment การป้องกันนี้ป้องกันไม่ให้ผู้ใช้ที่ประสงค์ร้ายแทรกแอตทริบิวต์ที่ไม่ได้รับอนุญาตผ่าน HTTP request คุณต้องเพิ่มแอตทริบิวต์ลงใน $fillable, ใช้ $guarded เพื่อป้องกันเฉพาะบางแอตทริบิวต์ หรือใช้ forceFill() เพื่อข้ามการป้องกัน
ความแตกต่างระหว่างเมธอด find() และ findOrFail() ใน Eloquent คืออะไร?
Eloquent จัดการคอลัมน์ created_at และ updated_at โดยอัตโนมัติอย่างไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Laravel อื่นๆ
พื้นฐาน PHP
พื้นฐาน OOP ใน PHP
Composer & Autoloading
พื้นฐาน Laravel
Laravel Routing
Blade Templates
Request & Response
Eloquent Relationships
Migrations & Schema Builder
การตรวจสอบและฟอร์ม
การยืนยันตัวตน
การให้สิทธิ์และ Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
การแจ้งเตือนและเมล
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี