amount; } /** * @param int $amount * @return ProjectFixtures */ public function setAmount(int $amount) { $this->amount = $amount; return $this; } /** * @param bool $visible * @return $this */ public function setIsVisible(bool $visible) { $this->isVisible = $visible; return $this; } /** * {@inheritdoc} */ public function load(ObjectManager $manager) { $customers = $this->getAllCustomers($manager); $faker = Factory::create(); for ($i = 0; $i < $this->amount; $i++) { $visible = 0 != $i % 3; if (null !== $this->isVisible) { $visible = $this->isVisible; } $entity = new Project(); $entity ->setName($faker->catchPhrase . ($visible ? '' : ' (x)')) ->setBudget(rand(0, 10000)) ->setComment($faker->text) ->setCustomer($customers[array_rand($customers)]) ->setVisible($visible) ; $manager->persist($entity); } $manager->flush(); } /** * @param ObjectManager $manager * @return Customer[] */ protected function getAllCustomers(ObjectManager $manager) { $all = []; /* @var User[] $entries */ $entries = $manager->getRepository(Customer::class)->findAll(); foreach ($entries as $temp) { $all[$temp->getId()] = $temp; } return $all; } }