public function lst(){ $role=D('role'); $count = $role->count();// 查询满足要求的总记录数 $Page = new \Think\Page($count,2);// 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show();// 分页显示输出 $list = $role->field('a.*,GROUP_CONCAT(b.priname) priname')->alias('a')->join('LEFT JOIN cs_privilege b ON FIND_IN_SET(b.id,a.role_list_id)')->limit($Page->firstRow.','.$Page->listRows)->group('a.id')->select(); $this->assign('list',$list); $this->assign('page',$show); $this->display(); }
<td>{$vo.priname}</td>
<td>{$vo.role_list_id}</td>
关联两个表,这个和视图模型不一样。
mysql 语句:
由这几张图应该能了解我的意图,关联
选贼所有从cs_role这个表,起一个名字a,关联cs_privilege这个表起个名字b,
FIND_IN_SET函数是b.id这格字段里面的数,是否在a.role_LIST_ID这个字段里面,关联
但是我们不需要所哟肚饿数据,只需要b.priname这个字段
GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成
这儿不会写,只能照抄代码
关联两个表(权限表特殊)
最新推荐文章于 2022-05-15 11:00:57 发布