|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
Bonjour,
Je viens de démarrer symfony et j'ai un probléme pour calculer la somme des réglements pour une facture donnée. J'ai une relation 1-n entre facture et réglements car un client peut régler sa facture en plusieurs fois et j'aimerai pouvoir savoir le montant global que le client a réglé. Je vous mets le fichier indexSuccess.php A noter que j'arrive à afficher le montant d'un réglement d'une facture mais je bloque au niveau de la somme des réglements. Code :
Si quelqu'un peut m'aider svp. Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
En fessant les calculs dans les templates, tu ne respecte pas le modèle MVC. Tu dois essayer de bien discerner l'affichage, le contrôle et le modèle.
Ton calcul doit être fait dans le modèle puis récupérer dans le contrôleur pour l'afficher dans le template. Essai de faire une méthode qui calcule le montant total des règlements dans le fichier Facture.class.php. Code :
Sinon à mon avis ton problème vient de la variable $reglement donc die($reglement); juste à l'entrée du foreach pour savoir à quoi elle ressemble. |
||
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
Ok je vais essayer avec ça. En fait j'y avais pensé mais je savais pas dans quel fichier créer ma méthode. merci je vais voir si ça marche. Sinon si par la suite je veux calculer le solde = montant facturé - montant réglement je fais comment? Merci.
|
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Fabrice AgnelloDéveloppeur informatique Inscription : octobre 2010 Messages : 76 ![]() |
Bonjour,
pour votre solde, procédez de la même façon que vous l'a indiqué PeytaWodka en ajoutant une méthode getSolde() à votre objet Facture qui sera à peu de chose près : Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
J'ai essayé de créer la méthode suggérée mais le probléme c'est que pour une facture on a plusieurs reglements donc il faut arriver à faire la somme des réglements d'une facture donc la méthode n'est pas juste. $this->regl(); je dois la remplacer par quoi précisément tout en sachant qu'entre la classe facture et reglement j'ai que getReglements() qui est une array donc faudrait que dans la methode que je puisse comparer le numero de facture et si c le même que je fasse la somme ainsi de suite en parcourant toute la liste. Je sais pas si je me fais bien comprendre.Merci.
|
|
|
00
|
|
|
#6 | |||
|
Membre actif
![]() Fabrice AgnelloDéveloppeur informatique Inscription : octobre 2010 Messages : 76 ![]() |
Citation:
|
|||
|
|
20
|
|
|
#7 | |||
|
Membre actif
![]() Fabrice AgnelloDéveloppeur informatique Inscription : octobre 2010 Messages : 76 ![]() |
Citation:
Du coup, votre getReglements() vous renvoit un array de Reglement qu'il vous reste à parcourir et à en sommer les valeurs. Code :
|
|||
|
|
10
|
|
|
#8 | ||
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
OK Fabrice je comprend mieux et j'appelle comment ces methodes dans le action.class.php. Voilà une partie de ce fichier.
Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Vu que tu as des objets facture dans ton template, tu fait juste appel à la méthode getTotalReglement() sur l'objet facture dans ton template donc ton action ne change pas par contre dans ton template tu fait :
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
Merci Fabrice ça marche en fait j'appel directement les méthodes dans la vue et j'ai la somme des réglements et le solde. Mais l'autre souci que j'ai c'est que j'aimerai à présent faire la même chose mais pour un client donné avoir la mm liste. Le souci c'est que il faut que l'utilisateur entre le nom du client et que j'arrive à récupérer l'information mais juste avec un petit formulaire ou une zone de saisie. Merci encore une fois.
|
|
|
00
|
|
|
#11 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
C'est sur, après il n'oseront plus bouger
![]()
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
01
|
|
|
#12 | |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
C'est le correcteur orthographique qui a fait ça
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() MEISSA MBAYE Inscription : mai 2010 Messages : 17 ![]() |
Bsr j'ai posté un autre message sur la question. Mais je répond quand même en fait je veux avoir la liste de toutes les factures d'un client et pour ça il faut que l'utilisateur spécifie de quel client il s'agit et donc qu'il entre le nom du client. Une fois obtenu le nom du client je peux faire le reste. A noter qu'en principe la $request -> getParameter('nom') devrait me permettre d'obtenir le nom du client seulement ça ne marche pas. Merci
|
|
|
00
|
|
|
#14 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
@PeytaWodka, sacré correcteur... Il m'a fait exactement la même correction il y a trois mois
Pas évident que ceci te retourne le nom de quoi que cela soit. Regarde en mode débug dans la barre de débug, tu vas trouver la liste des données retournée par la requête et le nom exacte utilisé.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com