Bonjour,
Voila je rencontre un petit problème avec mon code.
/**
* @Route("/recherche_prod_titre_desc", name="recherche_prod_titre_desc")
*/
public function rechercherProduitParTitreOuDescAction() {
$dql = "SELECT p FROM AppBundle:Produit p WHERE p.titre LIKE :monTitre OR p.description LIKE :description";
$query = $this->getDoctrine()->getManager()->createQuery($dql);
$query->setParameter("monTitre", "%ka%");
$query->setParameter("description", "%9%");
$produits = $query->getResult();
return $this->render("AppBundle:Test:lister_produits.html.twig", array('mesProduits' => $produits,
'titre' => "Tous les produits"
));
}
Ci dessous mon twig
{% extends 'base.html.twig' %}
{% block body %}
<h1>{{titre}}</h1>
{% for prodAct in mesProduits %}
Produit actuel: {{ prodAct.titre }}
Description : {{ prodAct.description }}
Prix : {{ prodAct.prix }}
Stock : {{ prodAct.stock }}
{% for catAct in prodAct.categories %}
Categorie : {{ catAct.titre }}
{% endfor %}
<br>
{% endfor %}
{% endblock %}
Voici la requete que sf execute
SELECT p0_.id AS id0, p0.titre AS titre1, p0.description AS description2, p0.prix AS prix3, p0.stock AS stock4 FROM produit p0 INNER JOIN produitscommandes p2 ON p0.id = p2.produitid INNER JOIN commande c1 ON c1.id = p2.commandeid INNER JOIN client c3 ON c1_.clientid = c3.id WHERE c3.login LIKE "%wa%" AND p0.prix BETWEEN 0 AND 20000005
Il me retourne 3 résultats via ma base :
4 Desert Eagle .50 3000 10
9 Bazooka NULL 5000 2
4 Desert Eagle .50 3000 10
Tous les produits
Produit actuel: Desert Eagle Description : .50 Prix : 3000 Stock : 10 Categorie : Armes Poing
Produit actuel: Bazooka Description : Prix : 5000 Stock : 2 Categorie : Armes Lourdes
Merci Beaucoup pour votre aide sur le sujet
Pour résumer il me fait un DISTINCT alors qu'il ne devrait pas
/**
* @Route("/recherche_prod_titre_desc", name="recherche_prod_titre_desc")
*/
public function rechercherProduitParTitreOuDescAction() {
$dql = "SELECT p FROM AppBundle:Produit p WHERE p.titre LIKE :monTitre OR p.description LIKE :description";
$query = $this->getDoctrine()->getManager()->createQuery($dql);
$query->setParameter("monTitre", "%ka%");
$query->setParameter("description", "%9%");
$produits = $query->getResult();
return $this->render("AppBundle:Test:lister_produits.html.twig", array('mesProduits' => $produits,
'titre' => "Tous les produits"
));
}
{% extends 'base.html.twig' %}
{% block body %}
{{titre}}
{% for prodAct in mesProduits %}
Produit actuel: {{ prodAct.titre }}
Description : {{ prodAct.description }}
Prix : {{ prodAct.prix }}
Stock : {{ prodAct.stock }}
{% for catAct in prodAct.categories %}
Categorie : {{ catAct.titre }}
{% endfor %}
{% endfor %}
{% endblock %}