本文介绍thinkPHP中的连接查询使用方法,使用的是DB类,并不是模型,其实也都差不多。
连接查询项目中用的特别多,原生sql语句比较麻烦,thinkPHP提供的方法很好用。
首先有一张管理员表admin 里面role_id字段对应角色表(role)中的主键id字段,表示管理员属于什么角色。也就是多对一的关系,现在要查询管理员表,还要把管理员所属的角色查询出来。
下面是代码:
//查询管理员表 查询管理员角色信息
$list = Db::table('admin')->alias('a')->
join('role b', 'a.role_id=b.id','left')->
field('a.*,b.juese')->select();
alias方法表示给admin表起别名叫a
join方法三个参数:
第一个参数:要连接的表名和别名,用空格隔开 示例:role b
第二个参数:连接条件 这个没什么好说的
第三个参数:连接方式:left 也可以为right或者不写默认为inner
field方法:要查询的列,很明显,admin表中我全要,那么写a.*表示全要,role表中只要角色名就行了,就写b.juese,我表中juese字段表示角色名,大家可以用role_name好一点。
最后结果是这样:
最后,如有需要做网站,后台管理系统,或者前端页面的需求,可以联系我