gpt4 book ai didi

php - 学说 - 实体未被提取

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:30 28 4
gpt4 key购买 nike

我有一些具有一对多/多对一关系的实体 -

生产类-

/**
* @OneToMany(targetEntity="ProductionsKeywords", mappedBy="production")
*/
protected $productionKeywords;

ProductionsKeywords 类 -

/**
* @ManyToOne(targetEntity="Production", inversedBy="productionKeywords")
* @JoinColumn(name="production_id", referencedColumnName="id", nullable=false)
* @Id
*/
protected $production;


/**
* @ManyToOne(targetEntity="Keyword", inversedBy="keywordProductions")
* @JoinColumn(name="keyword_id", referencedColumnName="id", nullable=false)
* @Id
*/
protected $keyword;

关键字类 -

/**
* @OneToMany(targetEntity="ProductionsKeywords", mappedBy="keyword")
*/
protected $keywordProductions;

如果我写一个像这样的 DQL 查询

$query = $this->entityManager->createQuery("SELECT p FROM \Entity\Production p");

作品、productionKeywords 和关键字都可以正常加载,但是如果我尝试获取加入 productionKeywords 和关键字,例如

$query = $this->entityManager->createQuery("SELECT p, pk, k FROM \EntityProduction p 
LEFT JOIN p.productionKeywords pk
LEFT JOIN pk.keyword k
");

然后实体没有加载。不确定我做错了什么,因为我与其他一些实体建立了相同的关系,并且与他们一起工作正常。

最佳答案

好吧,看来如果您有一个“纯”连接实体(如上面的 ProductionsKeywords 类),那么它就不能用于提取查询。我通过使用 productions_keywords 表中的时间戳列作为 ProductionsKeywords 类中的另一个属性来解决这个问题,然后提取连接开始工作。

关于php - 学说 - 实体未被提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407518/

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