需求背景:
数据库:
1、表bx_order与表bx_user存在外键关联,关联字段是bx_order.createuserid=bx_user.id
2、表bx_order存在字段emergencyid标识报修单的紧急程度,取值为1(低),2(中),3(高),在模板页显示的时候需要转换
3、表结构如下图所示:
模板页:
模板页需要使用table标签显示所有的order,在表bx_order中取出的数据,需要用bx_user表中的email字段替换createduserid,使用低中高替换显示紧急程度
实现:
控制器编码:
public function showOrder(){
$data = D('Order');
$this->data = $data->order('bx_order.orderid')->join(' bx_user ON bx_order.createduserid = bx_user.id')->select();
$this->display();
}
模板页编码:
<table class="table table-striped">
<thead>
<tr>
<th>报修单号</th>
<th>Title</th>
<th>紧急程度</th>
<th>创建日期</th>
<th>创建人</th>
</tr>
</thead>
<tbody>
<volist name="data" id="vo">
<tr>
<td>{$vo.orderid}</td>
<td>{$vo.title}</td>
<td>
<switch name="vo.emergencyid">
<case value="1">低</case>
<case value="2">中</case>
<default />高
</switch>
</td>
<td>{$vo.createdate}</td>
<td>{$vo.email}</td>
</tr>
</volist>
</tbody>
</table>
实际输出效果如下图: