Can*_*ğan 36 php dql doctrine-orm discriminator
我在where子句中使用了discriminator列,如下所示:
//f = root entity
$qb = $this->createQueryBuilder('f');
$qb->add('where', 'f.format = \'image\' OR f.format = \'text\'');
Run Code Online (Sandbox Code Playgroud)
我有一个错误:"消息:[语义错误]第0行,第73行'format ='image'':错误:类实体\文件\ AbstractFile没有字段或关联命名格式"
我怎样才能在where子句中使用discriminator列?
谢谢.
Koc*_*Koc 60
我认为你应该使用INSTANCE OF
Ais*_*tis 10
它将在查询构建器中查找如下:
$class = 'Entity\File\Image';
$qb = $this->createQueryBuilder('f');
$qb->where($qb->expr()->isInstanceOf('f', $class));
Run Code Online (Sandbox Code Playgroud)
注意:您将无法将类设置为参数,因为它将被转义.