pr1
Новичок
Всем привет. Просьба объяснить один момент. Допустим есть таблицы со связью manyTomany:
products: id, title
categories: id, title
category_product: category_id, product_id, some_columns...
Есть 2 сущности Product и Category, где и указываю эти связи (в документации нашел только такой способ указания связей):
Вызываю команду миграции, таблицы и связи создаются. Вопрос:
1. Не могу понять, как правильно указать для таблицы category_product остальные колонки, помимо product_id и category_id?
2. Как указать ограничения к внешним ключам помимо onDelete (например команды onUpdate там нет)?
Никогда до этого не имел дела с ORM, поэтому немного трудно воспринимать таблицы как объекты.
products: id, title
categories: id, title
category_product: category_id, product_id, some_columns...
Есть 2 сущности Product и Category, где и указываю эти связи (в документации нашел только такой способ указания связей):
PHP:
class Product
{
.......................
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Category", inversedBy="product")
* @ORM\JoinTable(name="category_product",
* joinColumns={
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
* }
* )
*/
private $category;
.............................
}
/////////////////////////////////////////////
class Category
{
......................
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Product", mappedBy="category")
*/
private $product;
.........................
}
1. Не могу понять, как правильно указать для таблицы category_product остальные колонки, помимо product_id и category_id?
2. Как указать ограничения к внешним ключам помимо onDelete (например команды onUpdate там нет)?
Никогда до этого не имел дела с ORM, поэтому немного трудно воспринимать таблицы как объекты.
Последнее редактирование: