gpt4 book ai didi

symfony - 从 Symfony2 中的 DQL 访问继承类属性

转载 作者:行者123 更新时间:2023-12-02 10:13:19 26 4
gpt4 key购买 nike

我有一个抽象类 Product 和继承类 ProductWithRecurrency:

/**
* @ORM\Table(name= "product")
* @ORM\Entity(repositoryClass="Acme\StoreBundle\Entity\Repositories\ProductRepository")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="product_kind_id", type="integer")
* @ORM\DiscriminatorMap({"1" = "ProductFoo", "2" = "ProductWithRecurring"})
*/
abstract class Product
{

}


/**
*
* @ORM\Table(name="product_with_recurring")
* @ORM\Entity( repositoryClass ="Acme\StoreBundle\Entity\Repositories\ProductRepository")
*/
class ProductWithRecurring extends Product
{
/**
* @var Recurring $recurring
*
* @ORM\JoinColumn(name="recurring_id", referencedColumnName="id", nullable=false)
*/
protected $recurring;
}

当产品是 ProductWithRecurring 的实例时,我需要获取一些混合产品并具有“重复”实体信息。我在 ProductRepository 中有一个带有此 dql 的方法:

$dql = "SELECT p product
FROM Acme\StoreBundle\Entity\Product p
LEFT JOIN p.recurring rc
WHERE p.some_conditions";

显然得到这个异常:

[Semantical Error] line 0, col 1182 near 'rc
': Error: Class Acme\StoreBundle\Entity\Product has no association named recurring

我应该增加查询的复杂性还是我有概念性错误?(我不是 Symfony 方面的专家,更不是 Doctrine 方面的专家)。

代码中可能有错误,我已经简化了它以隔离问题。

我的英语不太好,希望你能理解我,谢谢!

最佳答案

您应该能够访问 Product ProductWithRecurring 中的所有产品属性。<​​/p>

使用下面的代码不起作用?我不太明白你想要得到什么结果

$dql = "SELECT p
FROM Acme\StoreBundle\Entity\ProductWithRecurring p
WHERE p.some_conditions";

关于symfony - 从 Symfony2 中的 DQL 访问继承类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15831620/

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