2010-10-19 66 views
0

当我在smarty中使用foreach时,I'hv出现问题, 有2个项目的数组在循环中处于foreach状态,但结果是循环3次。[Smarty,也许教义]

我使用原则用户从数据库

Doctrine_Core :: getTable( '审核')来获得的审查列表 - > findByUser($用户id);

然后我把它分配给智者和循环中的foreach:

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

{/ foreach}的

{从= $ reviewList项目=审查的foreach}但结果是,例如:

用户乔说:YOYO

用户玛丽说:日冰

用户说:

请注意,额外的行不得到的数组中的任何。

我已检查数据库中只有2条记录,并且我通过count($ reviewList)计数$ reviewList,结果也为2.当我向数据库中插入一条记录时,forloop也循环多一次。 谁能告诉我为什么会发生这种情况?非常感谢!

回答

1

这应该过滤空行:

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

它的工作!非常感谢!! – saili 2010-10-19 13:43:46