gpt4 book ai didi

Symfony2 Doctrine : redefine annotation in a inheritance class from another bundle

转载 作者:行者123 更新时间:2023-12-02 03:24:39 25 4
gpt4 key购买 nike

我有一个 CompanyBundle bundle :里面有这个的类产品

/**
* @ORM\ManyToMany(targetEntity="CompanyBundle\Entity\ProductImage", inversedBy="listProduct")
**/
private $listProductImage;

和一个具有以下内容的 ProductImage 类:

/**
* @ORM\ManyToMany(targetEntity="CompanyBundle\Entity\Product", mappedBy="listProductImage")
*/
private $listProduct;

但我也像这样从另一个 ClinetBundle 扩展了我的类 Product:

/**
* @ORM\Entity(repositoryClass="ClientBundle\Entity\Repository\ClientProductRepository")
*/
class ClientProduct extends Product
{
/**
* @ORM\ManyToMany(targetEntity="ClientBundle\Entity\ClientProductImage", inversedBy="listProduct")
**/
private $listProductImage;
}

但是当我在我的 Controller 中构建一个 ClientProduct 对象类并且我尝试从它访问 ClientProductImage 时,它​​给出了来自 CompanyBundle 的类,而不是 ClientBundle。那么,我该怎么做才能从 ClientBundle 获取 ProductImage?

这就像我的/** @ORM\ManyToMany(targetEntity="ClientBundle\Entity\ClientProductImage", inversedBy="listProduct") **/什么都不做:(

感谢您的帮助!

最佳答案

我终于找到了解决方案。

我不保留 ClientProduct 中定义的无用关系。所以我删除了 ManyToMany(targetEntity="ClientBundle\Entity\ClientProductImage"

然后,我打开我的 app/config.yml 并添加 resolve_target_entities:

doctrine:
...
orm:
...
resolve_target_entities:
CompanyBundle\Entity\ProductImage: ClientBundle\Entity\ClientProductImage

一切正常,我不需要更改 CompanyBundle :)

关于Symfony2 Doctrine : redefine annotation in a inheritance class from another bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com