相关疑难解决方法(0)

Doctrine DQL,类表继承和对子类字段的访问

我有一个DQL查询和实体专业化的问题.

我有一个叫做的实体Auction,它OneToOne与之有关系Item.Item是mappedSuperclass为Film和Book.我需要一个可以支持搜索引擎的查询,允许用户查找具有不同属性的拍卖,AND销售具有不同属性的项目(这是AND使其具有挑战性的部分).

问题是即使Auction有一个指向Item这样的关联,我需要访问Film- 和Book- 特定的字段.用户将指定Item他们正在寻找的类型,但除了INSTANCE OF在我的DQL查询中使用之外,我没有看到任何使用此信息的方法.

到目前为止,我已尝试使用如下查询:

SELECT a FROM Entities\Auction a
    INNER JOIN a.item i 
    INNER JOIN i.bookTypes b 
    WHERE i INSTANCE OF Entities\Book 
    AND b.type = 'Fantasy' 
    AND ...". 
Run Code Online (Sandbox Code Playgroud)

这样的查询会导致错误说:

类Entities\Item没有命名的字段或关联bookTypes

这是假的Book,但却是如此Item.

我也试过了

SELECT a FROM Entities\Book i 
    INNER JOIN i.auction …
Run Code Online (Sandbox Code Playgroud)

php inheritance doctrine dql doctrine-orm

18
推荐指数
1
解决办法
9019
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

dql ×1

inheritance ×1

php ×1