ThinkPHP的join方法
2016-06-27 18:58
483 查看
两张表:
表一: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方式,可以改成
$Model->join('RIGHT JOIN __WORK__ ON __ARTIST__.id = __WORK__.artist_id')->select();
或者使用:
$Model->join('__WORK__ ON __artist__.id = __WORK__.artist_id','RIGHT')->select();
join方法的第二个参数支持的类型包括:INNER LEFT RIGHT FULL。
如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用。例如:
join(array(' __WORK__ ON __ARTIST__.id = __WORK__.artist_id','__CARD__ ON __ARTIST__.card_id = __CARD__.id'))
使用数组方式的情况下,第二个参数无效。因此必须在字符串中显式定义join类型,例如:
join(array(' LEFT JOIN __WORK__ ON __ARTIST__.id = __WORK__.artist_id','RIGHT JOIN __CARD__ ON __ARTIST__.card_id = __CARD__.id'))
相关文章推荐
- PHPUnit安装
- thinkphp3.2与phpexcel解析
- thinkphp ckeditor与ckfinder
- 腾讯云服务器ftp部署及文件上传
- vsftpd安装遇到问题及解决办法
- iis7 运行 php5.5 的方法
- php 练习题-session与 cookie的 取值赋值
- thinkphp 3.2.3 单字符方法汇总
- phpcms上传提示找不到临时文件夹/目录(解决方法)
- phpmyadmin取消最大文件限制的更改解决方法
- mac os 中 pycharm 中安装matplotlib后不能正常使用
- CI框架简单使用方法
- 【Matplotlib】详解图像各个部分
- php 的常用函数FUNCTION
- PHP封装curl的调用接口及常用函数
- 理解ThinkPHP中的CBD“核心+行为+驱动”中的行为 Behavior
- ThinkPHP MVC模式、URL访问控制器和调试模式
- JHTP自测题_第六章_深入理解方法
- ThinkPHP 3.2.3 介绍及安装
- PHP递归