• ThinkPHP的join方法


    两张表:

    表一:pre_company_member   关联字段:comp_id

    表二:pre_company   关联字段:comp_id

    查询这两表中的数据。

    方法一:驼峰法

    $member=M('CompanyMember');

    $member_info=$member->join('pre_company ON pre_company_member.comp_id=pre_company.comp_id')->where(array('pre_company_member.uid'=>array('eq',session('uid'))))->selsect();

    方法二:别名法

    $member=M();

    $member_info=$member->table('pre_company_member m')->join('pre_company c ON m.comp_id=c.comp_id')->where(array('m.uid'=>array('eq',session('uid'))))->selsect();

    注意:

    默认采用INNER JOIN 方式,如果需要用其他的JOIN方式,可以改成

    1. $Model->join('RIGHT JOIN __WORK__ ON __ARTIST__.id = __WORK__.artist_id')->select();

    或者使用:

    1. $Model->join('__WORK__ ON __artist__.id = __WORK__.artist_id','RIGHT')->select();

    join方法的第二个参数支持的类型包括:INNER LEFT RIGHT FULL。

    如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用。例如:

    1. join(array(' __WORK__ ON __ARTIST__.id = __WORK__.artist_id','__CARD__ ON __ARTIST__.card_id = __CARD__.id'))

    使用数组方式的情况下,第二个参数无效。因此必须在字符串中显式定义join类型,例如:

    1. join(array(' LEFT JOIN __WORK__ ON __ARTIST__.id = __WORK__.artist_id','RIGHT JOIN __CARD__ ON __ARTIST__.card_id = __CARD__.id'))
  • 相关阅读:
    迭代器
    关于文章cisco漏洞4786
    Python学习目录
    Python的xml模块
    【JS30】Event Capture, Propagation, Bubbling and Once
    mysql安装
    CS193P 第四课笔记 · Hexo
    CSS变量
    在CentOS7上开启和挂载NFS共享
    《Android 编程实战》Chap5_重识IPC
  • 原文地址:https://www.cnblogs.com/sweet521/p/5621261.html
Copyright © 2020-2023  润新知