rework entities

This commit is contained in:
lubiana 2024-02-13 21:43:30 +01:00
parent d128fa4c57
commit ac248697ff
11 changed files with 110 additions and 158 deletions

View file

@ -16,27 +16,58 @@ final class AppFixture extends Fixture
{
$this->faker = \Faker\Factory::create();
foreach (range(0, 20) as $vendorCount) {
$vendor = new Vendor();
$vendor->setName($this->faker->name);
$manager->persist($vendor);
foreach (range(0, 10) as $itemCount) {
$menuItem = new MenuItem();
$menuItem->setVendor($vendor);
$menuItem->setPrice(random_int(500, 2000));
$manager->persist($menuItem);
$menuItemAliasOne = new MenuItemAlias();
$menuItemAliasOne->setName($this->faker->word);
$menuItem->addMenuItemAlias($menuItemAliasOne);
$manager->persist($menuItemAliasOne);
$menuItemAliasTwo = new MenuItemAlias();
$menuItemAliasTwo->setName($this->faker->word);
$menuItem->addMenuItemAlias($menuItemAliasTwo);
$manager->persist($menuItemAliasTwo);
}
$this->createVendorAndMenuItems($manager);
}
$manager->flush();
}
/**
* @param MenuItem $menuItem
* @param ObjectManager $manager
* @return void
*/
public function addMenuItemAliases(MenuItem $menuItem, ObjectManager $manager): void
{
$menuItemAliasOne = new MenuItemAlias();
$menuItemAliasOne->setName($this->faker->word);
$menuItem->addMenuItemAlias($menuItemAliasOne);
$manager->persist($menuItemAliasOne);
$menuItemAliasTwo = new MenuItemAlias();
$menuItemAliasTwo->setName($this->faker->word);
$menuItem->addMenuItemAlias($menuItemAliasTwo);
$manager->persist($menuItemAliasTwo);
}
/**
* @param Vendor $vendor
* @param ObjectManager $manager
* @return void
* @throws \Random\RandomException
*/
public function createMenuItem(Vendor $vendor, ObjectManager $manager): void
{
$menuItem = new MenuItem();
$menuItem->setVendor($vendor);
$menuItem->setPrice(random_int(500, 2000));
$manager->persist($menuItem);
$this->addMenuItemAliases($menuItem, $manager);
}
/**
* @param ObjectManager $manager
* @return void
* @throws \Random\RandomException
*/
public function createVendorAndMenuItems(ObjectManager $manager): void
{
$vendor = new Vendor();
$vendor->setName($this->faker->name);
$manager->persist($vendor);
foreach (range(0, 10) as $itemCount) {
$this->createMenuItem($vendor, $manager);
}
}
}