我坚持实施可能很简单的数据库关系。
我有一个ORM对象,例如
{ id, name, type , relationships }
和关系对象
{ relationshipType, object1 , object2 }
[我试图实现的是,当我在两个对象之间创建关系时,我想在“ relationships”集合中的两个对象中看到该关系对象。
现在,仅对象1具有关系对象,因为那是带有“ inversedBy”关键字的属性。
提前感谢
class ClassA {
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="App\Entity\ClassB", mappedBy="objectB")
*/
private $objectsB;
/**
* @ORM\OneToMany(targetEntity="App\Entity\ClassB", mappedBy="objectA")
*/
private $objectsA;
}
class ClassB {
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $relationshipType;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\ClassA", inversedBy="objectsB")
* @ORM\JoinColumn(nullable=false)
*/
private $objectB;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\ClassA", inversedBy="objectsA")
* @ORM\JoinColumn(nullable=false)
*/
private $objectA;
}