• Thinkphp 联表查询 表名要全名


    我有2个表 表1.


    表2


    已知表2的user_id 查询满足 表2.wb_id=表1.id 表1的内容
    阿里云
    最佳答案
    i 2013年11月15日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2.wb_id=表1.id')->select()

    复制代码

    可以这样select里可以传false, 这样$result会输出sql语句, 可以清晰看到
    如果字段都取出来,可以不用表别名..
    评论(5) 相关
    君鸿2014年09月10日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2缩写.wb_id=表1缩写.id')->select()

    复制代码
    复制代码
    复制代码
    adocode.com2014年05月27日
    不错,给个赞
    i2013年11月15日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2.wb_id=表1.id')->select()

    复制代码
    复制代码
    复制代码

    可以这样select里可以传false, 这样$result会输出sql语句, 可以清晰看到
    如果字段都取出来,可以不用表别名..
    回复i2013年11月15日
    推荐用join组合语句,楼上已经写的很明白了
    回复1108942013年11月15日
    但是首先要查询出表2的 wb_id 啊 要查询2次啊
    回复i2013年11月15日
    回复 110894 : 如果先知道表2的wb_id, 再2表一起, 好像就得查2回吧, 木思路, 等大神们来指点.
    回复1108942013年11月16日
    真的太感谢你了 亲
    回复小学生来了2014年12月31日
    非常不错的啊,亲!!!
    ⊿Remix.2013年11月15日
    用join链接 就可以。表2wb_id做表1的外键,进行表链接。查一下手册就有的。
    JOIN
    join 用于数据库的join查询支持
    用法 join($join)
    参数 join(必须):join操作,支持字符串和数组
    返回值 当前模型实例
    备注 join方法支持多次调用
    使用示例:
    $Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
    默认采用LEFT JOIN 方式,如果需要用其他的JOIN方式,可以改成
    $Model->join('RIGHT JOIN work ON artist.id = work.artist_id')->select();
    如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用。
    例如:
    join(array(' work ON artist.id = work.artist_id','card ON artist.card_id = card.id'))
    1108942013年11月15日
    求大家帮忙看下啊
  • 相关阅读:
    VSFTP日志文件详解
    RocketMQ多master多salve集群搭建
    数据持久化之bind Mounting
    数据持久化之Data Volume
    gitLab 分支保护设置
    docker容器的端口映射
    docker命令之link
    NFS客户端挂载失败之authenticated unmount request from
    docke网络之bridge、host、none
    docke通信之Linux 网络命名空间
  • 原文地址:https://www.cnblogs.com/caicaizi/p/5213162.html
Copyright © 2020-2023  润新知