I am very new to coding, especially with Symfony. But now my teacher has given me a task to create a query to search within 2 attributes. I have started writing the query, but there is still a lot lacking. I am wondering if someone can help, or send a link to help me finish it.
I need to make a search option which looks up into Artikelnummer and Omschrijving.
/**
* @Route("/artikel/zoek", name="zoekartikel")
*/
Public function zoek(Request $request){
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
'SELECT a
FROM AppBundle:Artikel a
WHERE a.artikelnummer = input AND a.omschrijving LIKE input2'
);
$artikelen = $query->getResult();
return new Response($this->render('search.html.twig',
array('artikelen' => $artikelen)));
}
You need first to instantiate Result Mapping
use Doctrine\ORM\Query\ResultSetMapping;
$rsm = new ResultSetMapping();
Then
$query = $em-> createNativeQuery(
'SELECT a
FROM AppBundle:Artikel a
WHERE a.artikelnummer = ? AND a.omschrijving LIKE ?',
$rsm
);
$query->setParameter(1, 'input1'); // or var
$query->setParameter(2, 'input2'); // or var
$artikelen = $query->getResult();
return new Response($this->render('search.html.twig',
array('artikelen' => $artikelen)));
More docs here http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html