【原创】 TP下联合多表查询
栏目:PHP  作者:隆航  阅读:(1250)

做项目用到多条件查询,但涉及到字段重复后,先生成SQL,然后再执行。

项目中需要查询用户关联公司表、部门表、职位表

然后多表查询的语句上一篇文章有写过http://loveteemo.com/article-122.html

这里需要加上的是:where条件的执行顺序是在field的前面,所以多个表一起查询字段冲突肯定是无法避免的。

这里需要用到TP的buildsql()

具体的是:

$User = M('user');
$sql = $User->alias('a')
->field('a.userid,a.username,a.rid,r.rid as roleid,r.rname,a.did,d.did as depid,d.depname,c.cid as companyid,a.cid')
->join('LEFT JOIN role r ON a.rid = r.rid')
->join('LEFT JOIN deparentment d ON a.did = d.did)
->join('LEFT JOIN company c ON a.cid = c.cid)
->buildSql();
$list = $User->table($sql .'a')->where($map)->select();//$map为上篇文章的条件

ThinkPHP手册地址:http://www.kancloud.cn/manual/thinkphp/1775



zc
#146

   zc     2016-04-12 09:54    Win 8.1      山东省济南市

看看,很喜欢

admin

   admin     04-12 09:54    回复 @zc 中说到:

谢谢·

昵称
邮箱
域名
  记住 通知博主
验证码

  程序相关

站点版本:青春博客-V 2.1.0

开源版本:青春博客-Beta v2.0

 下载  在线支付  在线工具  在线音乐

  随机文章