gpt4 book ai didi

php - Doctrine 2 : How to select ArrayCollection using DQL

转载 作者:行者123 更新时间:2023-11-29 02:48:52 32 4
gpt4 key购买 nike

我有两个实体,它们具有 OneToMany 映射,就像 doctrine 文档中描述的那样:

 // Product Entity
/**
* @OneToMany(targetEntity="Feature", mappedBy="product")
*/
private $features;

// Feature Entity
/**
* @ManyToOne(targetEntity="Product", inversedBy="features")
* @JoinColumn(name="product_id", referencedColumnName="id")
*/
private $product;

当我对 Product 执行 findAll() 时,它会返回包含 Feature 数组的产品。

我正在使用 DQL 进行查询,所以我想知道如何使用 DQL 选择 Feature 数组。

我做了:SELECT p.name, p.price, f FROM Product p JOIN p.features f

但是报错

Cannot select entity through identification variables without choosing at least one root entity alias.

我也尝试过:SELECT p.name, p.price, p.features FROM Product p

这也给出了一个错误

Invalid PathExpression. Must be a StateFieldPathExpression.

最佳答案

问题是如果不获取包含它的产品就无法获取功能实体。所以你必须做

SELECT p , f FROM Product p JOIN p.features f

希望对你有帮助。

关于php - Doctrine 2 : How to select ArrayCollection using DQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320623/

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