How do I write non-equal in doctrine, where is the article?

I hope someone can help me, I am writing a user request in my repository, and I would like to do the following: -

$query = $this->_em->createQueryBuilder()
->select('a')
->from('entity', 'a')
->where('a.deleted not 1') /// how do you write NOT??? i've tried <> etc 
->getQuery();

How to do the above?

thank

Andrew

+3
source share
5 answers

Francesco's answer is correct. It all depends on your will to use either an expression builder or a high-level solution.

In your particular case, you can choose one of two.

Expression Constructor:

$queryBuilder = $this->_em->createQueryBuilder();
$expr = $queryBuilder->expr();

$query = $queryBuilder
    ->select('a')
    ->from('entity', 'a')
    ->where($expr->neq('a.deleted', 1))
    ->getQuery();

For a high-level solution, see Rawkode's answer. Except change !=before <>or using a.deleted = 0.

It would be better to parameterize it with Doctrine.

->where('a.deleted = :deleted')
->setParameter('deleted', false);
+5
source

neq(), :

$query = $repository->createQueryBuilder('t');
$expr = $query->expr();
$orx = $expr->orX();

$orx->add($expr->neq('t.pageTitle', $expr->literal('value1')));
$orx->add($expr->neq('t.metaDescription', $expr->literal('value2')));

$query->andWhere($orx);

:

AND (
    t1_.page_title <> 'value1' 
    OR t1_.meta_description <> 'value2'
)
+2
$query = $this->_em->createQueryBuilder()
->select('a')
->from('entity', 'a')
->where('a.deleted != 1') /// how do you write NOT??? i've tried <> etc 
->getQuery();

'! ='

+1
source

! = means not equal! === means not identical

+1
source
$queryBuilder = $repository->createQueryBuilder('a');
$query = $queryBuilder
    ->where($queryBuilder->expr()->notIn('u.id', 1)
    ->getQuery();

I am not sure that in building queries is not equal to the operator. But it can help you. By the way, I am also looking for a better answer.

+1
source

All Articles