Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Usando QueryBuilder para construir um select com boolean

Bom dia, estou com uma duvida e problema, estou desenvolvendo outro projeto que não o da aula para praticar o doctrine, e cheguei em um problema que não estou sabendo como resolver.

Criei uma classe com atributo boolean, e eu queria selecionar somente os objetos da classe que tem o boolean false, porem está dando fatal error executando essa query.

Segue o erro:

Fatal error: Uncaught Doctrine\ORM\Query\QueryException: SELECT c FROM Premio\App\Entity\Category c WHERE c.isdelete = false in C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\QueryException.php:21 Stack trace: #0 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Parser.php(546): Doctrine\ORM\Query\QueryException::dqlError('SELECT c FROM P...') #1 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Parser.php(820): Doctrine\ORM\Query\Parser->semanticalError('line 0, col 51 ...', Array) #2 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Parser.php(319): Doctrine\ORM\Query\Parser->processDeferredPathExpressions() #3 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Parser.php(408): Doctrine\ORM\Query\Parser->getAST() #4 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query.php(274): Doctrine\ORM\Query\Parser->parse() #5 C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query.php(286): Doctrine\ORM\Query->parse() #6 C:\wamp64\www\premio in C:\wamp64\www\premio\vendor\doctrine\orm\lib\Doctrine\ORM\Query\QueryException.php on line 43

A classe repositório com o metodo a ser executado

<?php

namespace Premio\App\Repository;

use Doctrine\ORM\EntityRepository;

class CategoryRepository extends EntityRepository
{
    public function getAllCategories()
    {
        $query = $this->createQueryBuilder('c')
            ->where('c.isdelete = false')
            ->getQuery();


        return $query->getResult();

    }
}

Ja tentei inclusive usar dql pura, mais da o mesmo erro.

alguem pode me ajudar?

2 respostas

Mateus, teoricamente não precisa de nada diferente para comparar valores booleanos. Como está sua entidade? Esse atributo isdelete existe e está com esse nome mesmo?

solução!

Bom dia Vini, então achei o erro, eu tava usando a variavel isdelete, mais o nome literal é isDelete Valeu pela atenção