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();
您还可以为要查找的类型指定参数。
在我的数据库中,我有按字段 "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();
您还可以为要查找的类型指定参数。