[Smarty,也许是学说]

时间:2010-10-19 13:39:38

标签: doctrine foreach smarty

当我在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也会循环一次。 谁能告诉我为什么会这样?非常感谢!

1 个答案:

答案 0 :(得分:1)

这应该过滤空行:

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