From 7c15781d5d88b8ef59611e6c595c9a489a0337a3 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Wed, 18 Feb 2026 22:41:00 +0700 Subject: [PATCH] feat: Add CustomerSeeder to DatabaseSeeder for customer data initialization --- database/factories/CustomerFactory.php | 23 +++++++++++++ database/seeders/CustomerSeeder.php | 47 ++++++++++++++++++++++++++ database/seeders/DatabaseSeeder.php | 1 + 3 files changed, 71 insertions(+) create mode 100644 database/factories/CustomerFactory.php create mode 100644 database/seeders/CustomerSeeder.php diff --git a/database/factories/CustomerFactory.php b/database/factories/CustomerFactory.php new file mode 100644 index 0000000..ed7f540 --- /dev/null +++ b/database/factories/CustomerFactory.php @@ -0,0 +1,23 @@ + + */ +class CustomerFactory extends Factory +{ + protected $model = Customer::class; + + public function definition(): array + { + return [ + 'name' => $this->faker->name(), + 'phone_number' => $this->faker->unique()->numerify('08##########'), + 'address' => $this->faker->optional()->address(), + ]; + } +} diff --git a/database/seeders/CustomerSeeder.php b/database/seeders/CustomerSeeder.php new file mode 100644 index 0000000..8d9127d --- /dev/null +++ b/database/seeders/CustomerSeeder.php @@ -0,0 +1,47 @@ + 'John Doe', + 'phone_number' => '081234567890', + 'address' => 'Jl. Raya No. 123, Jakarta Selatan', + ], + [ + 'name' => 'Jane Smith', + 'phone_number' => '082233445566', + 'address' => 'Jl. Merdeka No. 45, Bandung', + ], + [ + 'name' => 'Toko Sembako Makmur', + 'phone_number' => '081298765432', + 'address' => 'Jl. Pasar Baru No. 10, Surabaya', + ], + ]; + + foreach ($defaults as $data) { + Customer::firstOrCreate( + ['phone_number' => $data['phone_number']], + [ + 'name' => $data['name'], + 'address' => $data['address'], + ] + ); + } + + // Tambah beberapa pelanggan random + Customer::factory()->count(10)->create(); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index ab20efe..3199357 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -22,6 +22,7 @@ public function run(): void FeedSeeder::class, FeedPurchaseSeeder::class, EggCollectionSeeder::class, + CustomerSeeder::class, ]); } }