Doctrine ORM - связь между одним и тем же объектом - PullRequest
0 голосов
/ 05 марта 2020

я застрял, реализуя, вероятно, простую связь с базой данных.

У меня есть объект ORM, такой как

{ id, name, type , relationships }

и объект связи

{ relationshipType, object1 , object2 }

Что я пытаюсь сделать свершившимся sh является то, что когда я создаю взаимосвязь между двумя объектами, я хочу видеть объект взаимосвязи в обоих объектах в коллекции «взаимосвязей».

В данный момент только объект 1 имеет объект взаимосвязи, поскольку свойство с ключевым словом "inversedBy".

Заранее спасибо

1 Ответ

0 голосов
/ 05 марта 2020

Это должно выглядеть так:

class ClassA {
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;
    /**
     * @ORM\OneToMany(targetEntity="App\Entity\ClassB", mappedBy="objectA")
     */
    private $objectsB;
    /**
     * @ORM\OneToMany(targetEntity="App\Entity\ClassB", mappedBy="objectB")
     */
    private $objectsA;
}

class ClassB {
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;
    /**
     * @ORM\Column(type="string", length=20)
     */
    private $relationshipType;
    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\ClassA", inversedBy="objectsB")
     * @ORM\JoinColumn(nullable=false)
     */
    private $objectA;
    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\ClassA", inversedBy="objectsA")
     * @ORM\JoinColumn(nullable=false)
     */
    private $objectB;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...