我在制定问题的标题时遇到了麻烦。对此表示歉意。
我在“目录”和“类别”之间有一个 OneToMany 关联。我在 Category 上也有一个自引用双向关联(因为一个类别可以包含多个类别)。
问题是当我获取我的目录时,我的目录的类别是空的。我认为 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 的新手,英语不是我的母语,所以请放纵我。
干杯。