Answer the question
In order to leave comments, you need to log in
Symfony how to make case sensitive lookup using entity manager?
Greetings comrades. You need to do a case-sensitive search. But of course em can't, or I don't know how to force it. It is possible to make the search case-sensitive in native SQL, but I don’t want to, I want to use em.
Does anyone know a solution?
$em = $this->getDoctrine()->getManager();
$links = $em->getRepository('AppBundle:Links')->findOneByCode($request->get('code'));
Senks...
Answer the question
In order to leave comments, you need to log in
In case you haven't noticed, you're getting a repository object from the EntityManager, which you're accessing. You need to expand the repository for your entity with a method that will do a case-insensitive search.
$em = $this->getDoctrine()->getManager(); $links = $em->getRepository('AppBundle:Links')->findOneByCode($request->get('code'));
go to the Repository class (AppBundle/Repository/Links or create ):namespace AppBundle/Repository/Links; use use Doctrine\ORM\EntityRepository; class Links extends EntityRepository { public function findOneByCode ( $code ) //здесь реализуем выборку так как требуется // для приведения в верхний регистор используем php встроеные //функции к примеру strtoupper($code) // проверяем значение, есть такое значение в бд // если есть заносим в массив // и так ищем в разных регистрах значение //может возникнуть несколько значений в разных регистрах // а если так то ето уже просто findByCode //и возвращаем значение виде массива в котором есть свои значения //но что б избежать данной проблемы проще хранить в бд с каким либо определенным // регистром данные }
You can implement it this way, maybe there is an even better option ;-)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question