中实现方法
我在Symfony2中的一个项目中工作,我有一个名为File的实体,我试图做的是从数据库中获得一个具有某些条件的文件,但最重要的条件是该文件不应与给定的Id数组匹配,并且没有在文件存储库中实现方法
$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
));
我如何告诉条令文件不应该与数组匹配:$Ids我更喜欢直接在我的类中进行,而不必在文件Repository
您可以将createQueryBuilder
用于NOT IN()
子句
$result= $repoFile->createQueryBuilder('r')
->select('r')
->where('r.id NOT IN (:ids)' )
->setParameter( 'ids', $Ids, DoctrineDBALConnection::PARAM_INT_ARRAY )
->andWhere('r.deleted = :deleted')
->setParameter('deleted',NULL)
->andWhere('r.isMain= :isMain')
->setParameter('isMain',1)
->getQuery()->getResult();