Doctrine - return 具有定义类型的结果

Doctrine - return results with defined type

在我的数据库中,我有按字段 "type" 定义的数据,例如:

const TYPE_ONE = 'one';
const TYPE_TYPE = 'two';

我想 return 所有我定义了 "type" 值的结果,这些结果由这两个常量提交,而不是全部。 (像 (NULL) 类型)。

似乎不​​支持 OR 运算符。

我的代码:

return $this->getMyEntityRepository()->findBy([
            'type' => MyEntity::TYPE_ONE || MyEntity::TYPE_TWO
        ]);

OR operator is supported,但在学说中,您应该在存储库中为此类查询创建一个方法。

存储库:

class MyEntityRepository extends ServiceEntityRepository
{
    public function findByType()
    {
        return $this->createQueryBuilder('r')
            ->andWhere('r.type IN (:types)')
            ->setParameter('types', [MyEntity::TYPE_ONE, MyEntity::TYPE_TWO])
            ->getQuery()
            ->getResult()
        ;
    }
}

控制器:

return $this->getMyEntityRepository()->findByType();

您还可以为要查找的类型指定参数。