请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 4952|回复: 0

[数据模型] 数据关联结果在Smarty模板中显示

[复制链接]
发表于 2012-8-4 22:50:26 | 显示全部楼层 |阅读模式

SpeedPHP框架的spLinker表间关联,获取的数据在模板中可以通过嵌套循环的方式来显示。

我们以前面一对多的关联介绍的例子,讲解如何在模板中显示关联的结果。一对多关联例子


在这文章中,返回的一对多关联数据如下:
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [user_id] => 12
  6.             [user_name] => 灰太狼
  7.             [guestbook] =>
  8.         )
  9.     [1] => Array
  10.         (
  11.             [user_id] => 14
  12.             [user_name] => 小羊羊
  13.             [guestbook] =>
  14.         )
  15.     [2] => Array
  16.         (
  17.             [user_id] => 16
  18.             [user_name] => 羊村长
  19.             [guestbook] => Array
  20.                 (
  21.                     [0] => Array
  22.                         (
  23.                             [gb_id] => 55
  24.                             [contents] => 大家好我是村长
  25.                             [user_id] => 16
  26.                         )
  27.                     [1] => Array
  28.                         (
  29.                             [gb_id] => 56
  30.                             [contents] => 下面我来说两句
  31.                             [user_id] => 16
  32.                         )
  33.                     [2] => Array
  34.                         (
  35.                             [gb_id] => 57
  36.                             [contents] => 以下省略一万五千字
  37.                             [user_id] => 16
  38.                         )
  39.                 )
  40.         )
  41. )
复制代码
上面是在控制器中dump出来的效果。那么在模板中该如何做呢?
  1. <{foreach from=$results item=dc}>
  2. <p>用户:<{$dc.user_name}>

  3. <{if $dc.guestbook}>
  4. 留言:

  5. <{foreach from=$dc.guestbook item=thegb}>
  6. <{$thegb.contents}>

  7. <{/foreach}>
  8. <{else}>
  9. 他暂无留言
  10. <{/if}>
  11. </p>
  12. <{/foreach}>
复制代码
从上面的模板代码我们看到,在判断$dc.guestbook存在数据后,就将$dc.guestbook进行循环输出,循环的过程和前面的循环是一样的。

您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-4-9 20:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表