我试图为symphony 3应用程序实现一个学说关系。父类和子类的学说关系
我有两个不同的类,一个从另一个扩展,它们与具有多对一关系的相同实体相关。
这是我的课程。
Country.php
class Country
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Groups({"exposed"})
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="Link", mappedBy="country")
*/
private $link;
/**
* @ORM\OneToMany(targetEntity="LinkChild", mappedBy="country")
*/
private $linkChild;
public function __construct()
{
$this->link = new ArrayCollection();
$this->linkChild = new ArrayCollection();
}
}
Link.php
/**
* Link
*
* @ORM\Table(name="link")
* @ORM\Entity(repositoryClass="Decathlon\AppCollaboratorBundle\Reposito\LinkRepository")
* @Vich\Uploadable
* @ORM\HasLifecycleCallbacks()
*/
class Link
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Serializer\Groups({"link_list", "link_info"})
* @Serializer\Expose()
*/
protected $id;
/**
* @var Country
*
* @ORM\ManyToOne(targetEntity="Country", inversedBy="link", cascade={"persist"})
* @JoinColumn(name="country_id", referencedColumnName="id")
*/
protected $country;
}
LinkChild.php
/**
* @ORM\Entity(repositoryClass="Decathlon\AppCollaboratorBundle\Repository\LinkChildRepository")
*/
class LinkChild extends Link
{
/**
* @var Country
*
* @ORM\ManyToOne(targetEntity="Country", inversedBy="linkChild", cascade={"persist"})
* @JoinColumn(name="country_id", referencedColumnName="id")
*/
protected $country;
}
我需要同时创建链接和LinkChild给国家,但没有一个国家之间的关系列在LinkChild表中创建。
我已经告诉不要使用递归类,所以我必须创建Link和LinkChild。
有没有一种方法来实现我想要做的事情。
预先感谢您。