У меня есть проблема. Я моделирую структуру БД с помощью объектов Doctrine 2, и я застрял в одном отношении.Матричное сопоставление типов с объектами Doctrine
Что мне нужно для представления в базе данных представляет собой матрицу, как таблицы:
| |A|B|C|D|
|A| x
|B|x x
|C| x x
|D| x
Что таблица показывает, что предложения доступны с другими предложениями (х = ИСТИНА, пусто = ложь). То, что я пытался сделать, - это отношения «многие-многие» с доктриной, надеясь, что это приведет к созданию таблицы сопоставления, но Doctrine этого не делает. Вот моя сущность:
/**
* @ORM\Entity @ORM\HasLifecycleCallbacks
* @ORM\Entity(repositoryClass="Core\Repository\Main")
* @ORM\Table(name="offer_availability")
*/
class OfferAvailability implements JsonSerializable
{
/**
* @var int
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @var String
* @ORM\Column(type="string")
*/
protected $name;
/**
* @var \Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="Core\Entity\Offers\OfferAvailability", mappedBy="availableWith", inversedBy="availableWith", fetch="EXTRA_LAZY")
*/
protected $availableWith;
Я знаю, что может создать объект отображения таблицы вручную и использовать один для многих отношений. Но мне интересно, есть ли более умный способ приблизиться к этому.