zoukankan      html  css  js  c++  java
  • 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'))
  • 相关阅读:
    testNG参数传递方式
    TestNG超详细教程
    testNG中@Factory详解
    【转】HashMap的工作原理
    shell脚本学习笔记
    awk文本处理知识汇总
    sed文本处理知识点整理
    oracle数据库sql的基本使用
    【转】Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例
    HTML5 indexedDB数据库的入门学习(二)
  • 原文地址:https://www.cnblogs.com/sweet521/p/5621261.html
Copyright © 2011-2022 走看看