Skip to content
Tirapong Chaiyakun edited this page Sep 19, 2026 · 1 revision

Seeder

ไฟล์อยู่ที่ Database/Seeders/

php deawx make:seeder UserSeeder
php deawx db:seed
php deawx db:seed --class=UserSeeder
php deawx migrate:fresh --seed

เขียน seeder

namespace Database\Seeders;

use Core\Seeder;
use Faker\Factory;

final class UserSeeder extends Seeder
{
    public function run(): void
    {
        $faker = Factory::create('th_TH');

        $this->db()->insert('users', [
            'name' => $faker->name(),
            'email' => $faker->unique()->safeEmail(),
            'password' => password_hash('password', PASSWORD_DEFAULT),
            'created_at' => date('Y-m-d H:i:s'),
            'updated_at' => date('Y-m-d H:i:s'),
        ]);
    }
}

$this->db() คือ Medoo ใช้ insert, update, delete ได้ตามเอกสาร Medoo

DatabaseSeeder

final class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        $this->truncate('posts', 'users');
        $this->call(UserSeeder::class);
        $this->call(ThreadPostSeeder::class);
    }
}
เมธอด ความหมาย
$this->call(UserSeeder::class) รัน seeder อื่น
$this->truncate('users', 'posts') ล้างตาราง (ปิด FK ชั่วคราว)
$this->db() Medoo

truncate ข้ามตารางที่ยังไม่มี

ข้อมูลตัวอย่างเว็บบอร์ด

DatabaseSeeder ล้างแล้วใส่ตามลำดับ

  1. UserSeeder — ผู้ใช้รวมแอดมิน
  2. CategorySeeder
  3. TagSeeder
  4. ThreadPostSeeder
  5. InteractionSeeder — ไลก์ ไฟล์แนบ รายงาน

บัญชีทดลองจาก seeder

  • อีเมล admin@cyberthai.net
  • รหัส password

Faker ใช้ locale th_TH (ติดตั้งใน require-dev)

Clone this wiki locally