สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
01-406-093-203
การพัฒนาเว็บแอปพลิเคชันด้วยเฟรมเวิร์ค โดย นายศุภมิตร จันทร์โทวงศ์
สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 1 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
เช็คชื่อเข้าชั้นเรียน ให้นักศึกษาสแกน QR Code นี้เพื่อเข้าสู่ระบบเช็คชื่อเข้าเรียน ระบบจะทำการบันทึกประวัติการเข้าเรียนในวิชานี้อัตโนมัติ ผู้สอนยังไม่ได้เปิดระบบเช็คชื่อสำหรับบทเรียนสัปดาห์นี้ หรือหมดเวลากรอกข้อมูลแล้ว
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 2 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
สร้างโมเดล (Model) Model ตามสถาปัตยกรรม MVC มีบทบาทสำคัญในการสื่อสาร จัดการ และดำเนินการสืบค้นข้อมูลในตาราง Laravel ใช้ระบบ Eloquent ORM ทำให้เราเขียนคำสั่งจัดการโมเดลเป็นวัตถุ PHP โดยไม่ต้องเขียน SQL ดิบ คำแนะนำการใช้งาน: 1 คลาสโมเดล จะจับคู่เชื่อมตารางข้อมูลที่เป็นรูปพหูพจน์ (เช่น คลาส User แมปตาราง users) สร้างโมเดลพร้อมแผ่นไมเกรชันตารางผ่านคำสั่ง: php artisan make:model Blog -m code-example.bash
php artisan make:model Blog -m
INFO Model [app/Models/Blog.php ] created successfully.
INFO Migration [database/migrations/2026_07_25_093220_create_blogs_table.php ] created successfully.อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 3 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
แบบทดสอบก่อนเรียน (Pre-test) 1. การใช้งาน Eloquent ORM ใน Laravel ทำหน้าที่หลักด้านใด?
A. แปลงตารางในฐานข้อมูลและแถวข้อมูลให้อยู่ในรูปแบบ Object ของ PHP เพื่อจัดการได้สะดวกโดยไม่ต้องเขียน SQL ดิบ
B. คอมไพล์โค้ด CSS และ JavaScript หน้าบ้าน
C. ตรวจสอบและยืนยันตัวตนการเข้าสู่ระบบของผู้ใช้
D. จัดเก็บไฟล์รูปภาพที่อัปโหลดเข้าสู่เซิร์ฟเวอร์
2. ตามข้อตกลงมาตรฐานของ Laravel คลาสโมเดล Blog จะจับคู่กับตารางชื่ออะไรในฐานข้อมูล?
A. blogs
B. blog_table
C. tbl_blog
D. BlogData
3. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Model พร้อม Migration ในเวลาเดียวกัน?
A. php artisan make:model Blog -m
B. php artisan create:model Blog --migration
C. php artisan make:migration Blog -model
D. php artisan build:model Blog
4. คำสั่งใดของ PHP Artisan ที่ใช้รันคำสั่งสร้างและอัปเดตโครงสร้างตารางเข้าสู่ฐานข้อมูลจริง?
A. php artisan migrate
B. php artisan db:build
C. php artisan schema:run
D. php artisan make:table
5. ไลบรารีใดที่ถูกติดตั้งมากับ Laravel และถูกนำมาใช้ใน Factory สำหรับสุ่มสร้างข้อมูลทดสอบ เช่น ชื่อ, ข้อความ, หรือตัวเลข?
A. Faker
B. Mockery
C. Carbon
D. Guzzle
6. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Factory ของโมเดล Blog?
A. php artisan make:factory BlogFactory
B. php artisan create:factory Blog
C. php artisan generate:factory Blog
D. php artisan make:seeder BlogFactory
7. หากต้องการสุ่มข้อความเนื้อหาขนาดยาวสำหรับฟิลด์ content ใน BlogFactory ควรเลือกใช้คำสั่งใดของ Faker?
A. $this->faker->text()
B. $this->faker->name()
C. $this->faker->email()
D. $this->faker->word()
8. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Seeder ใหม่?
A. php artisan make:seeder BlogSeeder
B. php artisan create:seeder Blog
C. php artisan generate:seed Blog
D. php artisan make:db Blog
9. หากต้องการสั่งสร้างบทความจำลอง 100 รายการในไฟล์ BlogSeeder.php ต้องเขียนคำสั่งอย่างไร?
A. Blog::factory()->count(100)->create();
B. Blog::seed(100)->save();
C. Blog::make(100);
D. Blog::insertRandom(100);
10. คำสั่ง Terminal ใดที่ใช้สั่งให้ระบบรัน Seeder เพื่อบรรจุข้อมูลจำลองเข้าฐานข้อมูลจริง?
A. php artisan db:seed
B. php artisan migrate:seed
C. php artisan run:factory
D. php artisan database:fill
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 4 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
โมเดลคืออะไร Model (M) คือ ส่วนที่เก็บข้อมูลของ Application โดยจะทำหน้าที่จัดการฐานข้อมูลแทนการใช้คำสั่ง SQL โดยตรง ผ่านการกำหนด Class และ Object ซึ่งจะเรียกส่วนนี้ว่า ORM (Object Relational Mapping) อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 5 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
ORM (Object Relational Mapping) อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 6 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
รู้จักกับโมเดล Model ทำหน้าที่เป็นตัวกลางในการเชื่อมต่อและจัดการฐานข้อมูลผ่านการแปลงแถวข้อมูลเป็นออบเจกต์ (ORM) Controller จะเรียกใช้งาน Model เพื่อดึงข้อมูล เพิ่มข้อมูล หรือแก้ไข ก่อนที่จะส่งข้อมูลนั้นไปเรนเดอร์ใน View ตัวอย่างคำสั่งสร้าง Model [Blog.php] และ Migration: code-example.bash
php artisan make:model Blog -m
INFO Model [app/Models/Blog.php ] created successfully.
INFO Migration [database/migrations/2026_07_25_093220_create_blogs_table.php ] created successfully.อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 7 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
โครงสร้างการรับส่งข้อมูลและโมเดล รู้จักกับ MVC
➔ Request ⟷ DB Connection ➔ Response
Request
Response
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 8 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
ตารางโครงสร้างข้อมูล blogs
Table: blogsMigration Definition ชื่อคอลัมน์ ชนิดข้อมูล ความหมาย title string ชื่อบทความ content text เนื้อหาบทความ status boolean สถานะบทความ
True (1) = เผยแพร่False (0) = ฉบับร่าง
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 9 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
โมเดลบทความ (Blog) การจำลองโครงสร้างตารางข้อมูลข่าวสาร/บทความ (blogs) เพื่อใช้เก็บเนื้อหาในโปรเจกต์ คำสั่งสร้างโมเดล Blog พร้อมไฟล์ Migration: php artisan make:model Blog -m กำหนดให้มีฟิลด์หลักอย่าง title (ชื่อหัวข้อ), content (เนื้อหาหลัก) และ status (สถานะเปิดใช้งาน) code-example.bash
php artisan make:model Blog -m
INFO Model [app/Models/Blog.php ] created successfully.
INFO Migration [database/migrations/2026_07_25_093220_create_blogs_table.php ] created successfully.อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 10 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การเรียกใช้งาน HasFactory ในไฟล์ Blog.php เปิดไฟล์ใน app/Models/Blog.php นำเข้า Trait: HasFactory เรียกใช้ภายในคลาส: use HasFactory; อนุญาตให้โมเดล Blog เชื่อมโยงและผลิตข้อมูลจำลองผ่าน Factory ได้ code-example.php
// app/Models/Blog.php
namespace App \Models ;
use Illuminate \Database \Eloquent \Factories \HasFactory ;
use Illuminate \Database \Eloquent \Model ;
class Blog extends Model
{
use HasFactory ;
}อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 11 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
กำหนดโครงสร้างไฟล์ Migration (create_blogs_table.php) เปิดไฟล์ใน database/migrations/ เพิ่มคอลัมน์ในเมธอด up(): title : หัวข้อบทความ (string) content : เนื้อหาหลัก (text) status : สถานะ (boolean, default: true) code-example.php
// database/migrations/..._create_blogs_table.php
public function up(): void
{
Schema ::create('blogs' , function (Blueprint $table) {
$table->id ();
$table->string ('title' );
$table->text ('content' );
$table->boolean ('status' )->default (true);
$table->timestamps ();
});
}อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 12 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การสร้างตารางเข้าสู่ฐานข้อมูล (php artisan migrate) รันไฟล์ Migration เพื่อสร้างตารางในฐานข้อมูลจริง ใช้คำสั่งใน Terminal: php artisan migrate ระบบจะสร้างตาราง blogs พร้อมคอลัมน์ที่กำหนดสำเร็จ code-example.bash
php artisan migrate
INFO Running migrations.
2026_07_25_093220_create_blogs_table ..................................................... 39.99ms DONEอาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 13 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
ตรวจสอบโครงสร้างตาราง blogs ใน phpMyAdmin เข้าผ่าน phpMyAdmin ➔ เลือกฐานข้อมูล laravel_db ➔ ตาราง blogs คอลัมน์ id เป็น Primary Key (AUTO_INCREMENT) คอลัมน์ title (varchar 255) และ content (text) คอลัมน์ status (tinyint 1, default: 1) คอลัมน์ created_at และ updated_at (timestamp, NULL) Database: laravel_db ➔ Table: blogs phpMyAdmin Table structure Relation view
# Name Type Null Default Extra 1 🔑 id bigint No None AUTO_INCREMENT 2 title varchar(255) No None - 3 content text No None - 4 status tinyint(1) No 1 - 5 created_at timestamp Yes NULL - 6 updated_at timestamp Yes NULL -
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 14 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
Factory (ระบบผลิตข้อมูลทดลอง) ใช้สำหรับวางพิมพ์เขียวผลิตข้อมูลสุ่มเพื่อประหยัดเวลาและช่วยสร้างข้อมูลจำลองเพื่อใช้ทดสอบระบบ ใช้งานร่วมกับไลบรารี Faker ในการสร้างชื่อ, อีเมล, เนื้อหา หรือสถานะสุ่มในรูปแบบเสมือนจริง คำสั่งสร้าง Factory สำหรับ Blog: php artisan make:factory BlogFactory code-example.bash
php artisan make:factory BlogFactory
INFO Factory [database/factories/BlogFactory.php ] created successfully.อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 15 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การกำหนดค่าจำลองในไฟล์ BlogFactory.php เปิดไฟล์ใน database/factories/BlogFactory.php กำหนดค่าสุ่มข้อมูลในเมธอด definition(): title : $this->faker->sentence (สุ่มชื่อประโยคหัวข้อ) content : $this->faker->text() (สุ่มข้อความเนื้อหา) status : rand(0, 1) (สุ่มสถานะ 0 หรือ 1) code-example.php
// database/factories/BlogFactory.php
public function definition(): array
{
return [
'title' => $this->faker ->sentence ,
'content' => $this->faker ->text (),
'status' => rand(0, 1),
];
}อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 16 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
เทคนิคการเคลียร์หน้าจอ Terminal (cls / Cmd + K) ใช้สำหรับล้างหน้าจอ Terminal ให้สะอาดเมื่อมีข้อความประมวลผลสะสมจำนวนมาก คีย์ลัดบน macOS (Terminal / VS Code): กดปุ่ม Cmd + K คำสั่ง Terminal บน Windows / macOS: พิมพ์ cls หรือ clear code-example.bash
# เคลียร์หน้าจอ Terminal
cls
# ปุ่มลัดบน macOS (VS Code / Terminal):
Cmd + Kอาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 17 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
Seeder (การบรรจุค่าลงฐานข้อมูล) คลาส Seeder ใช้รันกระบวนการสร้างและบันทึกข้อมูลจำลองลงตารางฐานข้อมูล ช่วยให้นักพัฒนาในทีมมีข้อมูลทดสอบชุดเดียวกันอย่างเป็นระบบ คำสั่งสร้าง Seeder สำหรับ Blog: php artisan make:seeder BlogSeeder code-example.bash
php artisan make:seeder BlogSeeder
INFO Seeder [database/seeders/BlogSeeder.php ] created successfully.อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 18 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การเขียนคำสั่งสร้างข้อมูลใน BlogSeeder.php เปิดไฟล์ใน database/seeders/BlogSeeder.php นำเข้าคลาสโมเดล: use App\Models\Blog; สั่งสร้างบทความจำลอง 100 รายการ: Blog::factory()->count(100)->create(); code-example.php
// database/seeders/BlogSeeder.php
namespace Database \Seeders ;
use Illuminate \Database \Seeder ;
use App \Models \Blog ;
class BlogSeeder extends Seeder
{
public function run(): void
{
Blog ::factory()->count (100)->create ();
}
}อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 19 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การเรียกใช้งาน BlogSeeder ใน DatabaseSeeder.php เปิดไฟล์ใน database/seeders/DatabaseSeeder.php เรียกใช้ BlogSeeder::class ในเมธอด run() ผ่าน $this->call() สั่งยิงข้อมูลจำลอง 100 รายการเข้าสู่ฐานข้อมูลด้วยคำสั่ง: php artisan db:seed code-example.php
// database/seeders/DatabaseSeeder.php
public function run(): void
{
$this->call ([
BlogSeeder ::class ,
]);
}อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 20 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
การสั่งยิงข้อมูลจำลองเข้าฐานข้อมูล (php artisan db:seed) รันคำสั่ง Seeder เพื่อบันทึกข้อมูลจำลองบทความ 100 รายการลงตาราง ใช้คำสั่งใน Terminal: php artisan db:seed ระบบจะประมวลผลคำสั่งใน DatabaseSeeder และเรียกใช้ BlogSeeder สำเร็จ code-example.bash
php artisan db:seed
INFO Seeding database.
Database\Seeders\BlogSeeder .................................................... 113 ms DONEอาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 21 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
ตรวจสอบรายการข้อมูล blogs ใน phpMyAdmin เข้าผ่าน phpMyAdmin ➔ ฐานข้อมูล laravel_db ➔ ตาราง blogs ➔ เมนู Browse แสดงชุดข้อมูลบทความจำลอง 100 รายการที่ถูกสร้างจาก Seeder คอลัมน์ title, content และ status ถูกสุ่มค่าอย่างครบถ้วน Table structure Browse
id title content status created_at updated_at 1 Ducimus incidunt numquam quo... Repellat optio magni aspernatur... 0 2026-07-25 10:21:19 2026-07-25 10:21:19 2 Inventore excepturi rem et unde... Rerum non nesciunt consequuntur... 1 2026-07-25 10:21:19 2026-07-25 10:21:19 3 Consectetur qui iste cupiditate... Aperiam quia harum dolorem... 1 2026-07-25 10:21:19 2026-07-25 10:21:19 4 Sint reiciendis dignissimos... Aut est et impedit quo... 1 2026-07-25 10:21:19 2026-07-25 10:21:19 5 Similique veritatis explicabo... Voluptatem nisi et enim... 1 2026-07-25 10:21:19 2026-07-25 10:21:19 ... แสดง 100 รายการที่ถูกสร้างจาก Seeder ... ... ... ...
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 22 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
แบบทดสอบหลังเรียน (Post-test) 1. การใช้งาน Eloquent ORM ใน Laravel ทำหน้าที่หลักด้านใด?
A. แปลงตารางในฐานข้อมูลและแถวข้อมูลให้อยู่ในรูปแบบ Object ของ PHP เพื่อจัดการได้สะดวกโดยไม่ต้องเขียน SQL ดิบ
B. คอมไพล์โค้ด CSS และ JavaScript หน้าบ้าน
C. ตรวจสอบและยืนยันตัวตนการเข้าสู่ระบบของผู้ใช้
D. จัดเก็บไฟล์รูปภาพที่อัปโหลดเข้าสู่เซิร์ฟเวอร์
2. ตามข้อตกลงมาตรฐานของ Laravel คลาสโมเดล Blog จะจับคู่กับตารางชื่ออะไรในฐานข้อมูล?
A. blogs
B. blog_table
C. tbl_blog
D. BlogData
3. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Model พร้อม Migration ในเวลาเดียวกัน?
A. php artisan make:model Blog -m
B. php artisan create:model Blog --migration
C. php artisan make:migration Blog -model
D. php artisan build:model Blog
4. คำสั่งใดของ PHP Artisan ที่ใช้รันคำสั่งสร้างและอัปเดตโครงสร้างตารางเข้าสู่ฐานข้อมูลจริง?
A. php artisan migrate
B. php artisan db:build
C. php artisan schema:run
D. php artisan make:table
5. ไลบรารีใดที่ถูกติดตั้งมากับ Laravel และถูกนำมาใช้ใน Factory สำหรับสุ่มสร้างข้อมูลทดสอบ เช่น ชื่อ, ข้อความ, หรือตัวเลข?
A. Faker
B. Mockery
C. Carbon
D. Guzzle
6. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Factory ของโมเดล Blog?
A. php artisan make:factory BlogFactory
B. php artisan create:factory Blog
C. php artisan generate:factory Blog
D. php artisan make:seeder BlogFactory
7. หากต้องการสุ่มข้อความเนื้อหาขนาดยาวสำหรับฟิลด์ content ใน BlogFactory ควรเลือกใช้คำสั่งใดของ Faker?
A. $this->faker->text()
B. $this->faker->name()
C. $this->faker->email()
D. $this->faker->word()
8. คำสั่ง Artisan ใดใช้สำหรับสร้างไฟล์ Seeder ใหม่?
A. php artisan make:seeder BlogSeeder
B. php artisan create:seeder Blog
C. php artisan generate:seed Blog
D. php artisan make:db Blog
9. หากต้องการสั่งสร้างบทความจำลอง 100 รายการในไฟล์ BlogSeeder.php ต้องเขียนคำสั่งอย่างไร?
A. Blog::factory()->count(100)->create();
B. Blog::seed(100)->save();
C. Blog::make(100);
D. Blog::insertRandom(100);
10. คำสั่ง Terminal ใดที่ใช้สั่งให้ระบบรัน Seeder เพื่อบรรจุข้อมูลจำลองเข้าฐานข้อมูลจริง?
A. php artisan db:seed
B. php artisan migrate:seed
C. php artisan run:factory
D. php artisan database:fill
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 23 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
คำถามท้ายบทเรียน คำสั่งใดใช้สร้างโมเดล Blog พร้อมกับไฟล์ Migration ในคำสั่งเดียว?
A. php artisan make:model Blog -m
B. php artisan create:model Blog --table
C. php artisan generate:model Blog -db
D. php artisan make:migration BlogModel
คำอธิบาย: การเติมต่อท้าย -m ในคำสั่ง php artisan make:model Blog จะสร้างไฟล์ Migration ของตาราง blogs ให้อัตโนมัติ
อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 24 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
Workshop 7: ทำระบบไมเกรต สร้างคลาสโมเดล Blog และจำลองข้อมูล 100 รายการ 1 สร้างโมเดล Blog พร้อมไฟล์ Migration ด้วยคำสั่ง php artisan make:model Blog -m 2 กำหนดคอลัมน์ title, content และ status ในไฟล์ Migration แล้วรัน php artisan migrate 3 เปิดคลาส Blog.php เพิ่มการเรียกใช้งาน Trait: use HasFactory; 4 สร้าง Factory สำหรับ Blog ด้วยคำสั่ง php artisan make:factory BlogFactory และระบุการสุ่มค่าผ่าน Faker 5 สร้าง Seeder และสั่งรันสร้างข้อมูลจำลอง 100 รายการด้วยคำสั่ง php artisan db:seed command_prompt.sh
php artisan make:model Blog -m
php artisan make:factory BlogFactory
php artisan make:seeder BlogSeeder
php artisan migrate
php artisan db:seedอาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 25 / 26
สัปดาห์ที่ 7 • โมเดลและการสร้างข้อมูลจำลอง 01-406-093-203 Laravel Course
ใบงานที่ 7: พัฒนาและจำลองข้อมูลตารางข่าวสารบทความ (Blog) สร้างตารางบทความ (Blog) กำหนดโครงสร้างคอลัมน์ title, content, status ออกแบบ Factory สุ่มรายละเอียด และเขียน Seeder เพื่อเตรียมข้อมูลทดสอบ 100 รายการเข้าสู่ฐานข้อมูล
เกณฑ์การตรวจประเมินผล:
การกำหนดโครงสร้างคอลัมน์ใน Migration ได้อย่างถูกต้อง 40% การตั้งค่าคุณสมบัติสุ่มด้วย Faker ในคลาส BlogFactory 40% การเขียน BlogSeeder และรัน php artisan db:seed บันทึก 100 รายการสำเร็จ 20% อาจารย์ผู้บรรยาย: ศุภมิตร จันทร์โทวงศ์ สไลด์ที่ 26 / 26