做thinkphp時要用到循環裡面嵌套循環的,並第二個循環是和外面的有關聯的。
thinkphp官網給出的文檔為:
<volist name="list" id="vo">
<volist name="vo['sub']" id="sub">
{$sub.name}
</volist>
</volist>
我這裡要用的表為:分類表(表1),數據表(表2)
要實現的效果為:
<表1_1> <表2_1/> <表2_2> </表1_1> <表1_2> <表2_3/> <表2_4> </表1_2>
其實原理也是先查出分類表(表1),再把表1和表2相關聯查詢,最後以二維數組的方式輸出
後台代碼:
$m=M('表1');
$m1=M('表2');
$parent=$m->select();
foreach($parent as $n=> $val){
$parent[$n]['voo']=$m1->where('表2裡和表1相關聯的字段='.$val['表1id'].'')->select();
}
$this->assign('list',$parent);
$this->display();
前台輸出顯示:
<volist name="list" id="vo">
<li><b>{$vo.id}</b></li>
<volist name="vo['voo']" id="sub">
<li>{$sub.title}</li>
</volist>
</volist>
效果為:
<volist name="article" id="vo">
<volist name="vo['post_tag']" id="sub">
{$sub}
</volist>
</volist>
你這個需要用到標簽嵌套,請參考ThinkPHP3.0完全開發手冊 8.21 標簽嵌套:
<volist name="list" id="vo">
<volist name="vo['sub']" id="sub">
{$sub.name}
</volist>
</volist>