#1 jake

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

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


在这文章中,返回的一对多关联数据如下:
Array
(
    [0] => Array
        (
            [user_id] => 12
            [user_name] => 灰太狼
            [guestbook] =>
        )
    [1] => Array
        (
            [user_id] => 14
            [user_name] => 小羊羊
            [guestbook] =>
        )
    [2] => Array
        (
            [user_id] => 16
            [user_name] => 羊村长
            [guestbook] => Array
                (
                    [0] => Array
                        (
                            [gb_id] => 55
                            [contents] => 大家好我是村长
                            [user_id] => 16
                        )
                    [1] => Array
                        (
                            [gb_id] => 56
                            [contents] => 下面我来说两句
                            [user_id] => 16
                        )
                    [2] => Array
                        (
                            [gb_id] => 57
                            [contents] => 以下省略一万五千字
                            [user_id] => 16
                        )
                )
        )
)
上面是在控制器中dump出来的效果。那么在模板中该如何做呢?
<{foreach from=$results item=dc}>

用户:<{$dc.user_name}>

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

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

<{/foreach}>
<{else}>
他暂无留言
<{/if}>


<{/foreach}>
从上面的模板代码我们看到,在判断$dc.guestbook存在数据后,就将$dc.guestbook进行循环输出,循环的过程和前面的循环是一样的。

2012-08-04 22:50:26