0Pricing
PHP Academy · บทเรียน

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โมเดล Eloquent และการย้ายโครงสร้างฐานข้อมูล
  2. CRUD ด้วย Eloquent
  3. ความสัมพันธ์ของ Eloquent
  4. การโหลดข้อมูลล่วงหน้าและขอบเขตคำสืบค้น
← กลับไปที่ PHP Academy