/** * Run the database seeds. * * @return void */ public function run() { $shops = $this->shopRepository->findAll(); // assign 3 shipping plans with 3 shipping optinos each to 80% of shops foreach ($shops as $shop) { if ($this->faker->boolean(20)) { continue; } /** @var Shop $shop */ $shop->shippingPlans()->saveMany(factory(ShippingPlan::class, 3)->make())->each(function ($shippingPlan) { /** @var ShippingPlan $shippingPlan */ $shippingPlan->shippingOptions()->saveMany(factory(ShippingOption::class, 3)->make()); }); } // assign shipping plan to each product if owner has any // or 0 if owner doesn't $products = $this->productRepository->with('owner.shippingPlans')->findAll(); foreach ($products as $product) { /** @var Seller $seller */ $seller = $product->seller; if ($seller->shippingPlans->count()) { /** @var Product $product */ $product->shippingPlans()->attach($seller->shippingPlans->random()->id); } } }
/** * Run the database seeds. * * @return void */ public function run() { $shops = $this->shopRepository->findAll(); foreach ($shops as $shop) { if ($this->faker->boolean(80)) { $this->seed($shop); } } $users = $this->userRepository->findAll(); foreach ($users as $user) { if ($this->faker->boolean(80)) { $this->seed($user); } } }