我在Symfony2的一个项目中工作,我有一个实体调用文件,我想要做的是从数据库中获取一个文件,但有一些标准,但最重要的标准是文件不应该与给定的数组匹配Ids并没有在文件库中实现方法
$Ids = (1,2,3,4,5);
$file = $repoFile->findOneBy(array(
'id'=> $Ids, // the Id should not match with the array $Ids
'deleted' => NULL,
'isMain' => 1
));
我怎么能告诉doctrine该文件不应该与数组匹配:$ Ids 而且我更喜欢直接在我的班级中进行,而无需在文件库中实现方法
答案 0 :(得分:0)
您可以将createQueryBuilder
用于NOT IN()
子句
$result= $repoFile->createQueryBuilder('r')
->select('r')
->where('r.id NOT IN (:ids)' )
->setParameter( 'ids', $Ids, \Doctrine\DBAL\Connection::PARAM_INT_ARRAY )
->andWhere('r.deleted = :deleted')
->setParameter('deleted',NULL)
->andWhere('r.isMain= :isMain')
->setParameter('isMain',1)
->getQuery()->getResult();