2010-10-19 31 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