Я занимаюсь разработкой приложения symfony 4.2. У меня есть сущность Meal и OrderItem. У OrderItem должны быть все свойства объекта Meal + несколько его собственных. Проблема в столбце отношений ManyToOne. Не добавляется в таблицу order_item.
https://www.doctrine -project.org / проекты / Доктрина-ОРМ / ы / 2,6 / ссылки / наследования mapping.html
Я попытался следовать "Наследование таблиц классов" и "Сопоставленные суперклассы". Пример из «Сопоставленных суперклассов» не добавляет $ mappedRelated1 в EntitySubClass. И пример из «Наследования таблиц классов» удаляет все остальные расширенные поля из класса Meal и добавляет некоторый столбец «dtype» в таблицу Meal.
/**
* @ORM\Entity(repositoryClass="App\Repository\OrderItemRepository")
*/
class OrderItem extends Meal
{
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Order", inversedBy="orderItems")
*/
private $order;
/**
* @ORM\Column(type="integer")
* @Assert\NotBlank
* @Assert\Type("string")
*/
private $amount;
}
/**
* @ORM\Entity(repositoryClass="App\Repository\MealRepository")
*/
class Meal
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="string", length=255)
* @Assert\NotBlank
* @Assert\Type("string")
*/
protected $name;
/**
* @ORM\Column(type="float")
* @Assert\NotBlank
* @Assert\Type("float")
*/
protected $price;
/**
* @ORM\Column(type="string", length=255)
* @Assert\Image(
* mimeTypes={"image/jpeg", "image/png"}
* )
*/
protected $image;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Menu", inversedBy="meals")
*/
protected $menu;
}
Я ожидаю, что в таблице "order_item" будет столбец "menu_id", который будет иметь отношение к объекту Menu.
Я знаю, что могу скопировать все свойства из Meal в OrderItem, но это звучит неправильно.
EDIT:
И Meal, и OrderItem должны иметь свой экземпляр.