php jion用法,ThinkPHP关于JOIN使用方法详细说明
ThinkPHP 经常会遇到多表查询,最近的一个项目就是要同时查询四个表,当然 sql 也要使用多表查询了,只是在 where 的时候有些困难,研究了大半天的时间,终于给搞出来了,好了,先看看 ThinkPHP 中关于 JOIN 多表查询的使用吧,其它查询部分一切照旧。
JOIN方法是连贯操作中唯一可以多次调用的方法
分别查询表artist、work、card 、card
JOIN 有两种方式:LEFT JOIN(默认使用)与RIGHT JOIN
//Left Join
$Model->join(‘work ON artist.id = work.artist_id’)->join(‘card ON artist.card_id = card.id’)->select();
$Model->table(‘user U’)->join(‘news N on U.id=N.cid’)->field(‘U.*,N.*’)->order(‘id desc’)->limit(‘8’)->select();
//Left Join
$Model->table(‘user U’)->join(‘news N on U.id=N.cid’)->field(‘U.*,N.*’)->order(‘id desc’)->limit(‘8’)->select();
//Right Join
$Model->join(‘RIGHT JOIN work ON artist.id = work.artist_id’)->select();
//xiariboke.com
$Model->table(‘user U’)->join(array(‘right’,’news N on U.id=N.cid’))->field(‘U.*,N.*’)->order(‘id desc’)->limit(‘8’)->select();
在写好 JOIN 之后,在使用 where 的时候,要指定表名,例如 where 条件:
//Left Join
$Model->join(‘work ON artist.id = work.artist_id’)->join(‘card ON artist.card_id = card.id’)->wehre(“artist.card_id =10”)->select();
再来分享我写的一个 ThinkPHP 查询方法,可以当作正常的列表来使用,也可以直接 post 当作搜索来使用,代码如下:
public function index(){
$model = M(‘sequence_code’);
import(“@.ORG.Page”);
$count = $model->count();
$Page = new Page($count);
if ($_POST[phone]){
$where[‘xn_sequence_code.phone’] = array(‘like’,“%”.$_POST[‘phone’].“%”);
}
$this->list = $model->where($where)->field(‘xn_sequence_code.id,xn_sequence_code.scode,xn_sequence_code.phone,xn_sequence_code.is_use,xn_sequence_code.use_date,xn_demand.title,xn_insurance_deepconfig.gradename,xn_member.nickname’)->join(‘left join xn_demand on xn_demand.id=xn_sequence_code.type_id left join xn_insurance_deepconfig on xn_insurance_deepconfig.id=xn_sequence_code.grade_id left join xn_member on xn_member.mobile=xn_sequence_code.phone’)->limit($Page->firstRow. ‘,’ . $Page->listRows)->order(‘xn_sequence_code.id desc’)->select(); //xiariboke.com
$this->page=$Page->show();
$this->display();
}
重点在于 sql 语句的拼接和 where 条件语句,之前我使用的一直是不带表名的 where 语句,导致查询不成功,如果是只有两个表的查询,where 语句不带表前缀是可以的,如果是多表的话就不行,这里有个细微的区别,害得我搞了半天。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。导航:艺宵博客 » ThinkPHP关于JOIN使用方法详细说明
php jion用法,ThinkPHP关于JOIN使用方法详细说明相关推荐
- java string join 用法_Java String join() 使用方法及示例
Java String join() 使用方法及示例 Java String join()方法返回一个新字符串,该字符串具有给定的元素和指定的分隔符. 字符串join()方法的语法为: String. ...
- php中的where用法,ThinkPHP中where()使用方法详解
本文介绍thinkphp的where()方法的用法.where方法可以用于对数据库操作的结果进行筛选.即sql查询语句中的where子句. 今天来给大家讲下查询最常用但也是最复杂的where方法,wh ...
- 用php进行联查,Thinkphp使用join联表查询的方法
本篇文章介绍了Thinkphp使用join联表查询的方法,具有一定的参考价值,希望对各位学习thinkphp的朋友有帮助! Thinkphp使用join联表查询的方法 多表联查:$user = M(' ...
- php tp5的联表查询,Thinkphp使用join联表查询的方法
本篇文章介绍了Thinkphp使用join联表查询的方法,具有一定的参考价值,希望对各位学习thinkphp的朋友有帮助! Thinkphp使用join联表查询的方法 多表联查:$user = M(' ...
- 在thinkphp框架中如何对多表进行操作(thinkphp多表查询方法)
在thinkphp框架中如何对多表进行操作(thinkphp多表查询方法) 本文讲解了在thinkphp框架中如何对多表进行操作,ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷 ...
- thinkphp模版调用函数方法
原文:thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0, ...
- mysql不用left join_MySQL在右表数据不唯一的情况下使用left join的方法_MySQL - join
一.Join语法概述join 用于多表中字段之间的联系,语法如下:... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditionatable1:左表 ...
- php 如何封装类库,ThinkPHP里的import方法用于类库导入的封装实现实例详解
ThinkPHP里的import方法用于类库导入的封装实现实例详解 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/7/1 import方法是ThinkPHP框架用于类库导 ...
- 数据库join使用方法
这里写目录标题 数据库join使用方法 inner join的用法 left join 的用法 Right join 的用法 数据库join使用方法 inner join(等值连接):只返回两个表中联 ...
- java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...
package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...
最新文章
- https、SSL与数字证书介绍
- options模块介绍
- Vue学习(slot、axios)-学习笔记
- 【Python CheckiO 题解】Correct Sentence
- 漫步最优化十——极值类型
- redis常用命令getex_Redis常用命令
- linux取消头文件链接,【原创】Linux下编译链接中常见问题总结
- 华为机试HJ12:字符串反转
- iOS-推送通知详解
- 1022: [SHOI2008]小约翰的游戏John - BZOJ
- 音视频即时通讯开发功能介绍
- c语言投票程序设计,《C语言及程序设计》实践参考——投票表决器
- 简述神经元网络控制的作用和特点
- 我迟早被这些AI绘画笑死...
- 封装的APP封装源码-可以封装安卓和IOS
- 全球化经营必备,盘点主流跨境电商平台
- 在本地存储中存入和取出对象
- vim的安装以及基础使用
- 青春野狼不做姐控偶像的梦 - 线段树 - 扫描线 - 单调栈
- android头像相册/拍照选取,裁剪及上传综合案例