A-A+
Thinkphp同时读取多个表
不管是在 Thinkphp 框架还是在其它框架里面,同时读取多个表已经是很正常的事情了,在上一篇夏日博客已经把添加内容读取分类表以及编辑内容读取分类表的类方法代码贴出来了,这篇文章里面再贴一个显示分类表名称的代码,因为显示的是循环每一条数据库里面的信息,但每一条又有其上级分类的名称,其实在 Thinkphp 中来显示很简单,没有自己手写的哪么复杂,好了先看 Thinkphp select 方法吧,如下所示:
- $this->list = $model->where($where)->field('xn_ratio.id,xn_ratio.upper,xn_ratio.lower,xn_ratio.proportion,xn_grade.title')->join('left join xn_grade on xn_grade.id=xn_ratio.gradeid')->limit($Page->firstRow. ',' . $Page->listRows)->order('xn_ratio.id desc')->select();
使用的是 join 的方法,其中 _ratio 是风险比例表(类似于新闻表), _grade 则属于风险等级分类表(类似于新闻分类),好了,至于模板的调用就更简单了。
- <volist name="list" id="vo">
- <tr>
- <td><input type="checkbox" name="key" value="{$vo.id}"></td>
- <td>{$vo.id}</td>
- <td>{$vo.upper}</td>
- <td>{$vo.lower}</td>
- <td>{$vo.proportion}</td>
- <td>{$vo.title}</td> //xiariboke.net
- <td><a href="{:U('Ratio/edit',array('id'=>$vo['id']))}">修改</a> <a href="{:U('Ratio/del',array('id'=>$vo['id']))}" onclick="del({$vo['id']}); return false;">删除</a></td>
- </tr>
- </volist>
使用 volist 循环,其中 $vo.title 就是分类名称了。