0
respostas

Encontrar dados em campos do tipo char

Boa tarde, estou refazendo o curso de doctrine para relembrar algumas informações porque me deparei com uma barrreira enorme utilizando doctrine e oracle.

Tenho uma classe Unidade de Negócio onde os campos são do tipo char(40) e para localizar um registro só eu informando todos os 40 caracteres do campo, eu precisaria de uma sugestão pra buscar essa informação sem utilizar o like %% porque esse no campo id geraria uma busca duplicada ou errada.

Como se nota, no programa de busca tenho que informar o código com os espaços em branco para ele ser localizado, e não posso alterar a base de dados porque ela é utilizada nesse formato por outro software.

Programa de busca

$conexaoOracle = new OracleConnexao;
$entityManager = $conexaoOracle->getEntityManager();
$unidadeRepository = $entityManager->getRepository(UnidadeDeNegocio::class);
$unidade = $unidadeRepository->find('11       ');
var_dump($unidade);

Classe de Entidade

/**
 * @Entity
 * @Table(name="CTD010")
 */
class UnidadeDeNegocio
{
    /**
     * @Id
     * @Column(type="string",name="CTD_ITEM")
     */
    private $id;

    /**
     * @Column(type="string",name="CTD_DESC01")
     */
    private $name;

    public function getId(): int
    {
        return $this->id;
    }

    public function getName()
    {
        return $this->name;
    }
}