2010-10-19 5 views
0

I'hv eu un problème quand j'utilise foreach dans smarty, un tableau avec 2 éléments était boucle dans un foreach, mais le résultat est la boucle 3 fois.[Smarty, et peut-être doctrine]

J'utilise la doctrine pour obtenir une liste d'examen par un utilisateur de base de données

Doctrine_Core :: getTable ('révision') -> findByUser ($ userid);

puis-je attribuer à Smarty et boucle foreach:

{foreach from = $ reviewList item = examen}

<p>User {$review.User.name} said: {$review.content}</p> 

{/ foreach}

Toutefois, le résultat est par exemple:

utilisateur Joe dit: Yoyo

utilisateur Marie dit: hihi

utilisateur a déclaré:

S'il vous plaît notez que la ligne supplémentaire ne reçoit rien du tableau.

J'ai vérifié qu'il n'y a que 2 enregistrements dans la base de données, et j'ai compté $ reviewList par count ($ reviewList), le résultat est également 2. Lorsque j'insère un enregistrement de plus à la base de données, le boucle forloop une fois de plus. Quelqu'un peut-il me dire pourquoi cela se produit? Merci beaucoup!

Répondre

1

Cela devrait filtrer la ligne vide:

{foreach from=$reviewList item=review}{if $review.User.name} 
    <p>User {$review.User.name} said: {$review.content}</p> 
{/if}{/foreach} 
+0

Il fonctionne! Merci beaucoup!! – saili