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;
}
}