diff options
Diffstat (limited to 'workbench/database/seeders/DatabaseSeeder.php')
| -rw-r--r-- | workbench/database/seeders/DatabaseSeeder.php | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/workbench/database/seeders/DatabaseSeeder.php b/workbench/database/seeders/DatabaseSeeder.php index 9b7e84a..5dddc62 100644 --- a/workbench/database/seeders/DatabaseSeeder.php +++ b/workbench/database/seeders/DatabaseSeeder.php @@ -4,6 +4,7 @@ namespace Workbench\Database\Seeders; use Illuminate\Database\Seeder; use Workbench\App\Models\Category; +use Workbench\App\Models\Order; use Workbench\App\Models\Product; class DatabaseSeeder extends Seeder @@ -15,9 +16,21 @@ class DatabaseSeeder extends Seeder { $categories = Category::factory()->count(10)->create(); - Product::factory() + $products = Product::factory() ->state(fn () => ['category_id' => $categories->random()->id]) ->count(104) ->create(); + + Order::factory()->count(50)->create()->each(function ($order) use ($products) { + $orderProducts = $products->random(rand(1, 5)); + foreach ($orderProducts as $product) { + $quantity = rand(1, 5); + $order->products()->attach($product->id, [ + 'quantity' => $quantity, + 'price' => $product->price, + ]); + } + $order->update(['total' => $order->products->sum(fn ($p) => $p->pivot->quantity * $p->pivot->price)]); + }); } } |
