Symfony ManyToMany生成2个表



我有两个实体:产品类别。这应该是多对多的关系,因为每个类别可以有很多产品,每个产品可以属于很多类别。而且,我需要从我的产品访问类别,还需要知道一个类别的产品。

这是我的代码。

在我的产品实体中:

/**
* @ORMManyToMany(targetEntity="AppEntityCategory", cascade={"persist"})
*/
private $categories;

在我的类别实体:

/**
* @ORMManyToMany(targetEntity="AppEntityProduct", cascade={"persist"})
* @ApiSubresource
*/
private $products;

问题是,当我进行方案更新时,Doctrine会生成2个表:category_productproduct_category

我如何处理一张桌子?

这很容易。

/**
* @ORMManyToMany(targetEntity="AppEntityCategory", inversedBy="products")
*/
private $categories;

/**
* @ORMManyToMany(targetEntity="AppEntityProduct", mapped_by="categories")
* @ApiSubresource
*/
private $products;

不要忘记在构造函数中初始化,cascade="persist"是默认的AFAIK-

相关内容

  • 没有找到相关文章

最新更新