【发布时间】:2017-06-28 00:52:13
【问题描述】:
是否可以将类型数组绑定到 DQL 查询以用于 INSTANCE OF?
例如,这是用于按单个指定类型查询实体的 Doctrine DQL。
<?php
$dql = <<<DQL
SELECT o FROM \MyProj\AbstractMyObject AS o
WHERE o INSTANCE OF :type
DQL;
$q = $em->createQuery($dql);
$q->setParameter(
'type',
$em->getClassMetadata(AlphaObject::class);
);
$q->getResult();
将多个类型作为参数绑定到此查询的等效方法是什么?
这是我尝试过的。它不会出错,但也不会返回任何结果。
<?php
$dql = <<<DQL
SELECT o FROM \MyProj\AbstractMyObject AS o
WHERE o INSTANCE OF (:types)
DQL;
$q = $em->createQuery($dql);
$q->setParameter(
'types',
[
$em->getClassMetadata(AlphaObject::class),
$em->getClassMetadata(BetaObject::class)
]
);
$q->getResult();
【问题讨论】: