Semantical Error SQL

Par PuLSor24, il y a 11 ans


Bonjour,

j'essay d'afficher une colone de mon tableau en base.
Controller :

<?php namespace Tuto\HelloBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class DefaultController extends Controller { public function indexAction() { $em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT Fr FROM translate' ); $peple = $query->getResult(); return $this->render('HelloBundle:Default:index.html.twig', array('peple' => $peple)); } } ?>

Translate.php

<?php namespace Tuto\Entity; use Doctrine\ORM\Mapping as ORM; class Translate { protected $Fr; public fonction Fr() { return $this->Fr; } } ?>

Index.html.twing

{% extends '::base.html.twig' %}} {% block body %} <div class="container"> <ul> {% for translate in peple %} <lit> {{ translate.fr}} </lit> </ul> </div> {% endblock %}

2 réponses

mxmaxime, il y a 11 ans

Salut, ta query n'est pas bonne, on utilise du DQL.
De plus attention ta fonction pour créer te donner ton résultat doit être dans un Repository! (très mauvaise pratique comment tu fais ta requête.)

dev_julien, il y a 11 ans

Ne jamais faire une requête directement dans ton controler. Utilise un repository pour ta classe dans lequel tu vas créer ta métode qui te retournera ta query, et ensuite tu appelles ta méthodes dans le controller.

De plus as tu essayé de faire un ->findAll() sur ta classe, et l'afficher dans ta vue en faisant une boucle?