68 lines
2.5 KiB
PHP
68 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace Modules\Restaurant\Database\Seeders;
|
|
|
|
use Carbon\Carbon;
|
|
use Faker\Factory as Faker;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SupplierSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$faker = Faker::create();
|
|
|
|
$count = rand(10, 50);
|
|
|
|
for ($i = 0; $i < $count; $i++) {
|
|
DB::table('suppliers')->insert([
|
|
'restaurant_id' => 1,
|
|
'name' => $faker->name,
|
|
'phone' => $faker->phoneNumber,
|
|
'company_name' => $faker->company,
|
|
'contact_person' => $faker->name,
|
|
'alternate_phone' => $faker->optional()->phoneNumber,
|
|
'email' => $faker->optional()->safeEmail,
|
|
'website' => $faker->optional()->url,
|
|
|
|
'address' => $faker->address,
|
|
'city' => $faker->city,
|
|
'state' => $faker->state,
|
|
'country' => $faker->country,
|
|
'postal_code' => $faker->postcode,
|
|
|
|
'tax_number' => $faker->optional()->numerify('TAX#######'),
|
|
'bank_name' => $faker->optional()->company,
|
|
'bank_account_name' => $faker->optional()->name,
|
|
'bank_account_number' => $faker->optional()->numerify('##########'),
|
|
'ifsc_code' => $faker->optional()->bothify('BANK####'),
|
|
'opening_balance' => $faker->randomFloat(2, 0, 50000),
|
|
'opening_balance_date' => $faker->optional()->date(),
|
|
'due' => $faker->randomFloat(2, 0, 10000),
|
|
'balance' => $faker->randomFloat(2, 0, 10000),
|
|
|
|
'supply_type' => $faker->randomElement(['Food', 'Beverage', 'Cleaning', 'Equipment']),
|
|
'payment_terms' => $faker->randomElement(['Net 7', 'Net 15', 'Net 30', 'COD']),
|
|
'credit_limit' => $faker->optional()->randomFloat(2, 1000, 50000),
|
|
|
|
'rating' => $faker->randomFloat(2, 3, 5),
|
|
'notes' => $faker->optional()->sentence(10),
|
|
|
|
'contract_file' => null,
|
|
'trade_license' => $faker->optional()->numerify('TL-######'),
|
|
'nid_number' => $faker->optional()->numerify('NID##########'),
|
|
|
|
'status' => $faker->randomElement([1, 2]),
|
|
'created_at' => Carbon::now(),
|
|
'updated_at' => Carbon::now(),
|
|
]);
|
|
}
|
|
|
|
$this->command->info("✅ Seeded {$count} suppliers successfully.");
|
|
}
|
|
}
|