CRUD ด้วย Eloquent
สร้าง อ่าน อัปเดต และลบบันทึกข้อมูลโดยใช้เมธอดของ Eloquent
CRUD ด้วย Eloquent เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
สร้าง — save()
สร้างอินสแตนซ์ของโมเดล กำหนดแอตทริบิวต์ แล้วเรียกใช้ save()
<?php
$post = new Post();
$post->title = "Hello World";
$post->body = "My first post";
$post->save(); // INSERT INTO posts ...สร้าง — create()
Model::create() แทรกแถวข้อมูลในบรรทัดเดียวโดยใช้การกำหนดค่าหลายรายการพร้อมกัน จำเป็นต้องกำหนด $fillable
<?php
$post = Post::create([
"title" => "Hello World",
"body" => "My first post",
"user_id" => auth()->id(),
]);firstOrCreate และ updateOrCreate
firstOrCreate() จะค้นหาระเบียนที่ตรงกันหรือสร้างระเบียนใหม่ ส่วน updateOrCreate() จะค้นหาและอัปเดตระเบียน หรือสร้างระเบียนใหม่หากไม่พบ
<?php
// Find or create:
$tag = Tag::firstOrCreate(["name" => "PHP"]);
// Update or create:
$setting = Setting::updateOrCreate(
["key" => "theme"],
["value" => "dark"]
);อ่าน — all()
ดึงข้อมูลทุกแถวเป็น Eloquent Collection
<?php
$posts = Post::all(); // SELECT * FROM posts
foreach ($posts as $post) {
echo $post->title;
}อ่าน — find()
ค้นหาระเบียนด้วยคีย์หลัก หากไม่พบจะส่งคืน null ส่วน findOrFail() จะโยนข้อผิดพลาด 404 หากไม่พบ
<?php
$post = Post::find(1);
$post = Post::findOrFail(1); // throws ModelNotFoundException if missingอ่าน — where()
กรองระเบียนด้วยเงื่อนไข where() และเชื่อมเงื่อนไขหลายรายการเข้าด้วยกันได้
<?php
$published = Post::where("is_published", true)
->where("user_id", $userId)
->orderBy("created_at", "desc")
->get();อัปเดต — save()
แก้ไขแอตทริบิวต์ของโมเดลที่มีอยู่ แล้วเรียกใช้ save() — จะสร้างคำสั่ง UPDATE
<?php
$post = Post::findOrFail(1);
$post->title = "Updated Title";
$post->save(); // UPDATE posts SET title=... WHERE id=1อัปเดต — update()
อัปเดตระเบียนหลายรายการที่ตรงกับคำค้นหาในการเรียก SQL ครั้งเดียว
<?php
Post::where("user_id", $userId)
->update(["is_published" => false]);ลบ — delete()
ลบอินสแตนซ์โมเดลที่ดึงมาแล้ว
<?php
$post = Post::findOrFail(1);
$post->delete(); // DELETE FROM posts WHERE id=1ลบ — destroy()
Post::destroy($id) จะลบตามคีย์หลักโดยไม่ต้องดึงโมเดลมาก่อน
<?php
Post::destroy(1);
Post::destroy([1, 2, 3]); // delete multipleการแบ่งหน้า
ใช้ paginate() เพื่อส่งคืนออบเจ็กต์แบ่งหน้า พร้อม LIMIT/OFFSET โดยอัตโนมัติ
<?php
$posts = Post::latest()->paginate(15);
// In Blade: {{ $posts->links() }}สรุป
Eloquent มี create() / save() สำหรับการแทรกข้อมูล มี find() / where() สำหรับการอ่าน มี save() / update() สำหรับการอัปเดต และมี delete() / destroy() สำหรับการลบ
ตรวจสอบความเข้าใจ
เมธอดใดจะโยนข้อผิดพลาดหากไม่พบระเบียน
คำถามที่พบบ่อย
บทเรียน “CRUD ด้วย Eloquent” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “CRUD ด้วย Eloquent” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “CRUD ด้วย Eloquent”
สร้าง อ่าน อัปเดต และลบบันทึกข้อมูลโดยใช้เมธอดของ Eloquent คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “CRUD ด้วย Eloquent” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โมเดล Eloquent และการย้ายโครงสร้างฐานข้อมูล
- CRUD ด้วย Eloquent
- ความสัมพันธ์ของ Eloquent
- การโหลดข้อมูลล่วงหน้าและขอบเขตคำสืบค้น