我无法制定问题的标题。为此道歉。
我在“目录”和“类别”之间有一个OneToMany关联。我还在类别上有一个自引用双向关联(因为一个类别可以包含多个类别)。
问题是当我获取目录时,我的目录的类别是空的。我认为Doctrine可以返回完整的结果,因为Category中有一个外键。
以下是我所做的两个代码片段:
我的实体:
Entity Catalog
/**
* @ORM\OneToMany(targetEntity="Category", mappedBy="catalog")
**/
private $catalogCategories;
Entity Category
/**
* @ORM\ManyToOne(targetEntity="Catalog", inversedBy="catalogCategories")
* @ORM\JoinColumn(name="catalog_id", referencedColumnName="catalog_id")
**/
private $catalog;
/**
* @ORM\OneToMany(targetEntity="Category", mappedBy="categoryParent")
**/
private $categoryChildren;
/**
*
* @ORM\ManyToOne(targetEntity="Category", inversedBy="categoryChildren")
* @ORM\JoinColumn(name="category_parent_id", referencedColumnName="category_id")
**/
private $categoryParent;
我的控制器
/**
* @return array
* @View()
* @ParamConverter("catalog", class="TestRESTfulAPIBundle:Catalog")
*/
public function getCatalogAction(Catalog $catalog)
{
return array('catalog' => $catalog);
}
请注意,我正在使用FOSRestBundle。当我模拟HTTP请求时,我在JSON对象中获取了我的目录,但我的catalog_categories为空。
我的问题分为两部分: 是否可以从我的数据库中检索完整的记录,因此我的目录以递归的方式包含所有类别。
如果是(我认为这是真的),任何人都可以指出我的错误吗?
我是Symfony2的新手,英语不是我的母语所以请放纵我。
干杯。