From a8fd03f25690a5c7f0192df84dc2b835f4ca4762 Mon Sep 17 00:00:00 2001 From: Russ Long Date: Wed, 29 Apr 2026 20:38:05 -0400 Subject: [PATCH] Add seeders and factories for all models --- database/factories/ModelFactory.php | 133 ++++++++++++++++-- database/seeds/BiddersTableSeeder.php | 12 ++ database/seeds/CarShowCategoryTableSeeder.php | 12 ++ database/seeds/CarShowWinnerTableSeeder.php | 25 ++++ database/seeds/CheckoutTableSeeder.php | 24 ++++ database/seeds/DatabaseSeeder.php | 13 +- database/seeds/ItemsTableSeeder.php | 12 ++ database/seeds/JudgesTableSeeder.php | 12 ++ database/seeds/PaymentMethodsTableSeeder.php | 14 ++ database/seeds/PeoplesChoiceTableSeeder.php | 19 +++ database/seeds/UsersTableSeeder.php | 12 ++ database/seeds/VehicleScoresTableSeeder.php | 24 ++++ database/seeds/VehiclesTableSeeder.php | 24 ++++ database/seeds/WinningBidsTableSeeder.php | 24 ++++ 14 files changed, 351 insertions(+), 9 deletions(-) create mode 100644 database/seeds/BiddersTableSeeder.php create mode 100644 database/seeds/CarShowCategoryTableSeeder.php create mode 100644 database/seeds/CarShowWinnerTableSeeder.php create mode 100644 database/seeds/CheckoutTableSeeder.php create mode 100644 database/seeds/ItemsTableSeeder.php create mode 100644 database/seeds/JudgesTableSeeder.php create mode 100644 database/seeds/PaymentMethodsTableSeeder.php create mode 100644 database/seeds/PeoplesChoiceTableSeeder.php create mode 100644 database/seeds/UsersTableSeeder.php create mode 100644 database/seeds/VehicleScoresTableSeeder.php create mode 100644 database/seeds/VehiclesTableSeeder.php create mode 100644 database/seeds/WinningBidsTableSeeder.php diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php index 218934a..0b68a75 100644 --- a/database/factories/ModelFactory.php +++ b/database/factories/ModelFactory.php @@ -23,14 +23,131 @@ $factory->define(App\User::class, function (Faker\Generator $faker) { ]; }); -//Bidder -$factory->define(App\Models\Bidder::class, function (Faker\Generator $faker) { - static $password; - +// Bidders +$factory->define(App\Models\Bidders::class, function (Faker\Generator $faker) { return [ - 'name' => $faker->name, - 'email' => $faker->unique()->safeEmail, - 'password' => $password ?: $password = bcrypt('secret'), - 'remember_token' => str_random(10), + 'bidder_fname' => $faker->firstName, + 'bidder_lname' => $faker->lastName, + 'bidder_addr' => $faker->streetAddress, + 'bidder_city' => $faker->city, + 'bidder_state' => $faker->stateAbbr, + 'bidder_zip' => $faker->postcode, + 'bidder_phone' => $faker->phoneNumber, + 'bidder_email' => $faker->unique()->safeEmail, + 'bidder_assigned_number' => $faker->unique()->numberBetween(1, 1000), + ]; +}); + +// Items +$factory->define(App\Models\Items::class, function (Faker\Generator $faker) { + return [ + 'item_desc' => $faker->sentence(3), + 'item_min_bid' => $faker->numberBetween(10, 100), + 'item_est_value' => $faker->numberBetween(50, 500), + 'item_assigned_num' => $faker->unique()->numberBetween(1, 500), + ]; +}); + +// CarShowCategory +$factory->define(App\Models\CarShowCategory::class, function (Faker\Generator $faker) { + return [ + 'category_name' => $faker->words(2, true), + 'vehicle_type' => $faker->boolean, + ]; +}); + +// Vehicles +$factory->define(App\Models\Vehicles::class, function (Faker\Generator $faker) { + return [ + 'year' => $faker->year, + 'make' => $faker->company, + 'model' => $faker->word, + 'type' => function () { + return factory(App\Models\CarShowCategory::class)->create()->id; + }, + 'doNotJudge' => $faker->boolean, + 'owner' => function () { + return factory(App\Models\Bidders::class)->create()->bidder_assigned_number; + }, + ]; +}); + +// PaymentMethods +$factory->define(App\Models\PaymentMethods::class, function (Faker\Generator $faker) { + return [ + 'pm_name' => $faker->randomElement(['Cash', 'Check', 'Credit Card']), + ]; +}); + +// Judges +$factory->define(App\Models\Judges::class, function (Faker\Generator $faker) { + return [ + 'judge_number' => $faker->unique()->numberBetween(1, 50), + ]; +}); + +// VehicleScores +$factory->define(App\Models\VehicleScores::class, function (Faker\Generator $faker) { + return [ + 'judge' => function () { + return factory(App\Models\Judges::class)->create()->id; + }, + 'overall_score' => $faker->numberBetween(1, 100), + 'vehicle' => function () { + return factory(App\Models\Vehicles::class)->create()->id; + }, + ]; +}); + +// PeoplesChoice +$factory->define(App\Models\PeoplesChoice::class, function (Faker\Generator $faker) { + return [ + 'vehicle' => function () { + return factory(App\Models\Vehicles::class)->create()->id; + }, + 'pc_count' => $faker->numberBetween(0, 50), + ]; +}); + +// WinningBids +$factory->define(App\Models\WinningBids::class, function (Faker\Generator $faker) { + return [ + 'winning_bidder_num' => function () { + return factory(App\Models\Bidders::class)->create()->idbidders; + }, + 'winning_cost' => $faker->numberBetween(10, 1000), + 'winning_item_num' => function () { + return factory(App\Models\Items::class)->create()->iditems; + }, + ]; +}); + +// Checkout +$factory->define(App\Models\Checkout::class, function (Faker\Generator $faker) { + return [ + 'bidder_num' => function () { + return factory(App\Models\Bidders::class)->create()->idbidders; + }, + 'winnertotal' => $faker->numberBetween(10, 2000), + 'payment_method' => function () { + return factory(App\Models\PaymentMethods::class)->create()->pm_id; + }, + 'check_number' => $faker->optional()->numberBetween(100, 999), + 'cc_transaction' => $faker->optional()->uuid, + 'cc_amount' => $faker->optional()->numberBetween(10, 2000), + ]; +}); + +// CarShowWinner +$factory->define(App\Models\CarShowWinner::class, function (Faker\Generator $faker) { + return [ + 'vehicle' => function () { + return factory(App\Models\Vehicles::class)->create()->id; + }, + 'category' => function () { + return factory(App\Models\CarShowCategory::class)->create()->id; + }, + 'place' => $faker->numberBetween(1, 3), + 'total_score' => $faker->numberBetween(50, 300), ]; }); \ No newline at end of file diff --git a/database/seeds/BiddersTableSeeder.php b/database/seeds/BiddersTableSeeder.php new file mode 100644 index 0000000..06b671a --- /dev/null +++ b/database/seeds/BiddersTableSeeder.php @@ -0,0 +1,12 @@ +create(); + } +} diff --git a/database/seeds/CarShowCategoryTableSeeder.php b/database/seeds/CarShowCategoryTableSeeder.php new file mode 100644 index 0000000..5b8f753 --- /dev/null +++ b/database/seeds/CarShowCategoryTableSeeder.php @@ -0,0 +1,12 @@ +create(); + } +} diff --git a/database/seeds/CarShowWinnerTableSeeder.php b/database/seeds/CarShowWinnerTableSeeder.php new file mode 100644 index 0000000..3237137 --- /dev/null +++ b/database/seeds/CarShowWinnerTableSeeder.php @@ -0,0 +1,25 @@ +create([ + 'category' => $category->id, + 'vehicle' => $vehicles->random()->id, + 'place' => $i, + ]); + } + } + } +} diff --git a/database/seeds/CheckoutTableSeeder.php b/database/seeds/CheckoutTableSeeder.php new file mode 100644 index 0000000..046e656 --- /dev/null +++ b/database/seeds/CheckoutTableSeeder.php @@ -0,0 +1,24 @@ +create([ + 'bidder_num' => $bidder->idbidders, + 'payment_method' => $paymentMethods->random()->pm_id, + ]); + } + } + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index e119db6..5d5fb00 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -11,6 +11,17 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + $this->call(UsersTableSeeder::class); + $this->call(PaymentMethodsTableSeeder::class); + $this->call(CarShowCategoryTableSeeder::class); + $this->call(BiddersTableSeeder::class); + $this->call(ItemsTableSeeder::class); + $this->call(JudgesTableSeeder::class); + $this->call(VehiclesTableSeeder::class); + $this->call(VehicleScoresTableSeeder::class); + $this->call(PeoplesChoiceTableSeeder::class); + $this->call(WinningBidsTableSeeder::class); + $this->call(CheckoutTableSeeder::class); + $this->call(CarShowWinnerTableSeeder::class); } } diff --git a/database/seeds/ItemsTableSeeder.php b/database/seeds/ItemsTableSeeder.php new file mode 100644 index 0000000..68d8410 --- /dev/null +++ b/database/seeds/ItemsTableSeeder.php @@ -0,0 +1,12 @@ +create(); + } +} diff --git a/database/seeds/JudgesTableSeeder.php b/database/seeds/JudgesTableSeeder.php new file mode 100644 index 0000000..9ea1582 --- /dev/null +++ b/database/seeds/JudgesTableSeeder.php @@ -0,0 +1,12 @@ +create(); + } +} diff --git a/database/seeds/PaymentMethodsTableSeeder.php b/database/seeds/PaymentMethodsTableSeeder.php new file mode 100644 index 0000000..454a3f3 --- /dev/null +++ b/database/seeds/PaymentMethodsTableSeeder.php @@ -0,0 +1,14 @@ + 'Cash']); + PaymentMethods::create(['pm_name' => 'Check']); + PaymentMethods::create(['pm_name' => 'Credit Card']); + } +} diff --git a/database/seeds/PeoplesChoiceTableSeeder.php b/database/seeds/PeoplesChoiceTableSeeder.php new file mode 100644 index 0000000..fc284b8 --- /dev/null +++ b/database/seeds/PeoplesChoiceTableSeeder.php @@ -0,0 +1,19 @@ +create([ + 'vehicle' => $vehicle->id, + ]); + } + } +} diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php new file mode 100644 index 0000000..e1d4374 --- /dev/null +++ b/database/seeds/UsersTableSeeder.php @@ -0,0 +1,12 @@ +create(); + } +} diff --git a/database/seeds/VehicleScoresTableSeeder.php b/database/seeds/VehicleScoresTableSeeder.php new file mode 100644 index 0000000..41e4b50 --- /dev/null +++ b/database/seeds/VehicleScoresTableSeeder.php @@ -0,0 +1,24 @@ +create([ + 'judge' => $judge->id, + 'vehicle' => $vehicle->id, + ]); + } + } + } +} diff --git a/database/seeds/VehiclesTableSeeder.php b/database/seeds/VehiclesTableSeeder.php new file mode 100644 index 0000000..dae7be8 --- /dev/null +++ b/database/seeds/VehiclesTableSeeder.php @@ -0,0 +1,24 @@ +create([ + 'type' => function () use ($categories) { + return $categories->random()->id; + }, + 'owner' => function () use ($bidders) { + return $bidders->random()->bidder_assigned_number; + }, + ]); + } +} diff --git a/database/seeds/WinningBidsTableSeeder.php b/database/seeds/WinningBidsTableSeeder.php new file mode 100644 index 0000000..2840971 --- /dev/null +++ b/database/seeds/WinningBidsTableSeeder.php @@ -0,0 +1,24 @@ +create([ + 'winning_bidder_num' => $bidders->random()->idbidders, + 'winning_item_num' => $item->iditems, + ]); + } + } + } +} -- 2.52.0