feat: Add CustomerSeeder to DatabaseSeeder for customer data initialization
This commit is contained in:
parent
d8038b59b9
commit
7c15781d5d
23
database/factories/CustomerFactory.php
Normal file
23
database/factories/CustomerFactory.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Models\Customer;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends \Illuminate\Database\Eloquent\Factories.Factory<\App\Models\Customer>
|
||||||
|
*/
|
||||||
|
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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
47
database/seeders/CustomerSeeder.php
Normal file
47
database/seeders/CustomerSeeder.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Customer;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class CustomerSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
// Beberapa pelanggan default
|
||||||
|
$defaults = [
|
||||||
|
[
|
||||||
|
'name' => '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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -22,6 +22,7 @@ public function run(): void
|
|||||||
FeedSeeder::class,
|
FeedSeeder::class,
|
||||||
FeedPurchaseSeeder::class,
|
FeedPurchaseSeeder::class,
|
||||||
EggCollectionSeeder::class,
|
EggCollectionSeeder::class,
|
||||||
|
CustomerSeeder::class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user