开发者

[Smarty, and maybe doctrine]

开发者 https://www.devze.com 2023-01-20 15:42 出处:网络
I\'hv got a problem when I am using foreach in smarty, an array with 2 item was loop in a foreach, but the result is it loop 3 time.

I'hv got a problem when I am using foreach in smarty, an array with 2 item was loop in a foreach, but the result is it loop 3 time.

I use doctrine to get a list of review by a user from database

Doctrine_Core::getTable('review')->findByUser($userId);

then I assign it to smarty and loop in foreach:

{foreach from=$reviewList item=review}

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

{/foreach}

However the result is e.g.:

User Joe said: yoy开发者_StackOverflow社区o

User Mary said: hihi

User said:

Please notice that the extra row doesn't get anything from the array.

I have checked that there is only 2 record in database, and I have count the $reviewList by count($reviewList), the result is also 2. When I insert one more record to database, the forloop also loop extra one time. Can anyone tell me why this happen? Thanks a lot!


This should filter the empty line:

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

精彩评论

暂无评论...
验证码 换一张
取 消