菜鸟在这里。我会说我可以看到曲线的峰值,但是我仍然有路要走。
我有一个引用类别表的实体(tblxchangecategories):
这与引用类别层次结构表的实体(tblxchangecategory_hier)有关:
这种关系是自我参照。
有6个主要类别是父母,其余类别(36)都是孩子。
这就是我在实体文件(tblxchangecategories)中定义它们之间的关系的方式:
/**
* @OneToMany(targetEntity="TblXchangecategories", mappedBy="children")
**/
private $parent;
/**
* @ManyToOne(targetEntity"TblXchangecategories", inversedBy="parent")
* @JoinTable(name="tbl_xchangecategory_hier",
* joinColumns={@joinColumn(name="hier_parent", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="hier_child", referencedColumnName="id")}
*/
private $children;
在另一个实体文件(tblxchangecategory_hier)中:
/**
* @var \WorkoutExchange\WXCoreBundle\Entity\TblXchangecategories
*
* @ORM\OneToMany(targetEntity="WorkoutExchange\WXCoreBundle\Entity\TblXchangecategories")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="hier_parent", referencedColumnName="id")
* })
*/
private $hierParent;
/**
* @var \WorkoutExchange\WXCoreBundle\Entity\TblXchangecategories
*
* @ORM\ManyToOne(targetEntity="WorkoutExchange\WXCoreBundle\Entity\TblXchangecategories")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="hier_child", referencedColumnName="id")
* })
*/
private $hierChild;
使用以下代码,我可以检索平面数组中的所有类别(无关系):
$categories = $em->getRepository('WorkoutExchangeWXCoreBundle:TblXchangecategories')->findAll();
我可以设置视图,所以这没问题,它正在从数据库中取出数据,这给我带来了麻烦。
我->getChildren()
在几次搜索中都看到了对该函数的引用,但是在我的任何一个实体定义文件中都没有此函数。
我想要的是填充所有实体,以便当我显示它们时,可以将父级用作标头,并将父级下的子级使用诸如此类:
谢谢你的帮助。
您的关系有误,请尝试以下方法:
/**
* @var TblXchangecategories
*
* @ORM\ManyToOne(targetEntity="TblXchangecategories")
* @ORM\JoinColumn(name="hier_parent", referencedColumnName="id")
*
*/
private $hierParent;
/**
* @var TblXchangecategories
*
* @ORM\OneToMany(targetEntity="TblXchangecategories", mappedBy="hierParent")
*/
private $hierChildren;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句