Page 1 sur 1

[Symfony2]Envoie de valeur Controller/view

Posté : 05 mars 2012, 21:05
par YoshV
Bonsoir,

Désolé d'encore vous embetter avec symfony2.

Un petit problème se dresse devant moi. Je sais que ma question va parraitre bête.

Problème 1:

Dans mon controller j'ai:
// Requete pour compter le nombre de livre que l'élève est cencé avoir en sa possession.
        $qCount=$this->getDoctrine()->getEntityManager()->createQuery("SELECT COUNT(b.livreIdlivre) FROM LGBBourseLivresBundle:EleveHasLivre b WHERE b.eleveIdeleve=43");
        $resultCount=$qCount->getSingleScalarResult();// On récupère le nombre du COUNT
Et j'aimerais envoyé le $resultCount a ma view.

Problème 2 (un peu le même je pense):

Dans mon controller j'ai:
$montant=$montant-$prixRepriseLivre[$cpt];
Et j'aimerais envoyé $montant a ma view.

Paradoxalement, j'arrive a envoyé des resultats de Doctrine mais pas des betes nombres...

Merci d'avance de vos réponses.

Bonne soirée.

Re: [Symfony2]Envoie de valeur Controller/view

Posté : 05 mars 2012, 21:23
par xTG
A priori c'est dans la première partie de cette page de doc : http://symfony.com/doc/2.0/quick_tour/t ... oller.html

Re: [Symfony2]Envoie de valeur Controller/view

Posté : 06 mars 2012, 00:04
par zeus
Tout dépend de comment tu gères ton templating.

1/ si tu utilises les annotations, la solution de xTG

2/ sinon, de cette manière :
class MonController extends Controller
{
  public funcion monAction()
  {
    // ...

    return $this->render('MonBundle:Mon:template.html.twig', array('resultCount' => $resultCount));
  }
}

Re: [Symfony2]Envoie de valeur Controller/view

Posté : 06 mars 2012, 15:15
par YoshV
Bonjour,

J'ai donc lu la doc que m'a fournit xTG. Seulement je travaille en yml et non en xml.

J'ai éssayé d'implémenter ceci:
return $this->container->get('templating')->renderResponse('LGBBourseLivresBundle:Rachat:avoir.html.twig', array('Eleve'=> $eleve , 'Titre'=>$titreLivre ,
                                                                                                                         'codeEan'=>$codeEanLivre, 'prixReprise'=>$prixRepriseLivre, 
                                                                                                                         'discipline'=>$disciplineLivre, 'InfoParent'=>$resultAdresse,
                                                                                                                         'Classe'=>$resultClasse, 'NbrLivre'=>$resultCount));
Dans ma view je fais:
<p>Reprise de <NbrLivre>{{ resultCount }}</NbrLivre> Livres.</p>
Resultat:

Variable "resultCount" does not exist in LGBBourseLivresBundle:Rachat:avoir.html.twig at line 103

Bizarre... J'ai pourtant vérifié/ copié-coller etc... ça ne vient pas d'une faute de frappe... Pourtant cette variable existe bien vue que je l'utilise aussi de mon controller comme valeur max de mon compteur... La sur ce coup trou noire totale.

j'ai éssayé de faire dans ma view une boucle for a savoir:
{% for resultCount in NbrLivre %}
       {{ resultCount }}
{% endfor %}
Resultat : Rien! Nada ! Niete ! (je vais pas faire toute les langues hein.)

j'ai bien ma phrase mais pas de chiffre... Pas cool ça.


On oublie tout faut jusque que j'ouvre un peu les yeux aulieu d'avoir 2 pots de yaourts devant:

Solution :

La variable dans la vue s'appelle {{ NbrLivre }} et non {{ resultCount }} habitude des requêtes?

Bref j'ai résolu mon soucis désolé de vous avoir embêter encore une fois avec ^^'.

Bonne journée.

Ps: Y a t-il une méthode pour recupéré la date courante?