当我在smarty中使用foreach时,我遇到了问题, 一个带有2个项目的数组在foreach中循环,但结果是循环3次。
我使用doctrine来获取用户从数据库中查看的列表
Doctrine_Core :: getTable( '审查') - > findByUser($用户id);
然后我将它分配给smarty并在foreach中循环:
{foreach from = $ reviewList item = review}
<p>User {$review.User.name} said: {$review.content}</p>
{/ foreach}的
然而结果是例如:
用户乔说:yoyo
用户玛丽说:hihi
用户说:
请注意,额外的行没有从数组中获取任何内容。
我检查过数据库中只有2条记录,并且我按count($ reviewList)计算了$ reviewList,结果也是2。 当我向数据库中再插入一条记录时,forloop也会循环一次。 谁能告诉我为什么会这样?非常感谢!
答案 0 :(得分:1)
这应该过滤空行:
{foreach from=$reviewList item=review}{if $review.User.name}
<p>User {$review.User.name} said: {$review.content}</p>
{/if}{/foreach}