thinkphp两表,多表联合查询及分页的连贯操作写法

  1. ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示:
  2. 1、原生查询示例:
  3. 代码如下:
  4. $Model = new Model();
  5. $sql = ‘select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id ‘.$map.‘ order by a.id ‘.$sort.‘ limit ‘.$p->firstRow.‘,‘.$p->listRows;
  6. $voList = $Model->query($sql);
  7. 2、join()方法示例:
  8. 代码如下:
  9. $user = new Model(‘user‘);
  10. $list = $user->join(‘RIGHT JOIN user_profile ON user_stats.id = user_profile.typeid‘ );
  11. 3、table()方法示例:
  12. 代码如下:
  13. $list = $user->table(‘user_status stats, user_profile profile‘)->where(‘stats.id = profile.typeid‘)->field(‘stats.id as id, stats.display as display, profile.title as title,profile.content as content‘)->order(‘stats.id desc‘ )->select();

$data=$manage->table(‘template, app‘)->where(‘template.appid = app.appid‘)->field(‘template.teptype, app.appname‘)->order(‘template.id asc‘)->limit($Page->firstRow.‘,‘.$Page->listRows)->select();

时间: 2024-10-15 17:57:01

thinkphp两表,多表联合查询及分页的连贯操作写法的相关文章

一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句

如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true)->where($where)->order('blogid desc')->limit($Page->firstRow.','.$Page->listRows)->select(); $sql = $db->getLastSql(); 输出的sql语句为: SELE

thinkphp 两表、三表联合查询

//两表联合查询 $Model = M('T1');$Model->join('left join t2 on t1.cid = t2.id')->select();// $list = M('linkinfo')->join('LEFT JOIN __LINKCATE__ ON __LINKINFO__.c_id = __LINKCATE__.id')->select(); //三表联合查询 $Model = M('T1'); $Model->join('t2 on t1.

多表和视图联合查询,实现MVM扫描任务详细SOC Case----去重,联合,stuff,触发器赋权

SELECT distinct([faultline].[MVMLive].[vwScan].[JobID])      ,[faultline].[dbo].[Users].Name      ,[faultline].[MVMLive].[vwScan].[ConfigurationName]      ,[faultline].[MVMLive].[vwScan].[StartTime]      ,[faultline].[MVMLive].[vwScan].[EndTime]    

数据库————表之增加、查询、修改、删除操作

一. 运算符: 字符串是用单引号 数据库中出现比较用的是=,不是双等号 逻辑与 and 逻辑或 or 逻辑非 not 二.CRUD操作: 1.C——create   增加.创建,向数据库添加数据 格式:insert into 表名  values(列值1,列值2,...........列值n) insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers)

thinkphp 使用原生mysql语句 联合查询

<?php class DelAction extends Action { public function ml(){ // 实例化一个空模型,没有对应任何数据表 $Dao = M(); //或者使用 $Dao = new Model(); $div = $Dao->query("SELECT xp_wztj.time,xp_wztj.bt,xp_wztj.id,xp_wzfl.name FROM xp_wztj, xp_wzfl WHERE xp_wztj.uid = xp_wz

hibernate实现多表联合查询

以前用sql实现联合查询 是非常简单的事,只需要写sql语句就可以,第一次遇到hibernate要实现多表联合查询的时候还楞了一下.最后看了下资料,才恍然大悟,hibernate实现多表联合查询跟SQL没多大差别. hibernate很多实现都是靠喜欢配关系,但是如果两张表,数据量都非常大的时候,并不合适配关系. 例如:student表和score表需要做联合查询. 1)sql: select s.id,s.name,sc.score from student as s,score as sc

MyBatis之三:多表联合查询

在这篇文章里面主要讲解如何在mybatis里面使用一对一.一对多.多表联合查询(类似视图)操作的例子. 注:阅读本文前请先大概看一下之前两篇文章. 一.表结构 班级表class,学生表student,班级学生关系表ClassStudent. 这里一个学生只会在一个班级里面,也就是一对一的关系:一个班级有多个学生,也就是一对多的关系. 结构如下: CREATE TABLE [dbo].[Class]( [class_id] [int] NOT NULL, [class_name] [varchar

SharePoint 2013 列表多表联合查询

在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins属性来完成. 下面,我们通过一个简单的例子,为大家演示一下如何使用SPQuery通过查阅项字段来进行两个列表的联合查询. 1.首先创建测试列表,City是城市,然后有一个列表叫做Address,是地址,通过查阅项Location进行关联,CityID字段是Number类型,这里代表城市的ID号: 创

hibernate 多表联合查询

以前用sql实现联合查询 是非常简单的事,只需要写sql语句就可以,第一次遇到hibernate要实现多表联合查询的时候还楞了一下.最后看了下资料,才恍然大悟,hibernate实现多表联合查询跟SQL没多大差别. hibernate很多实现都是靠喜欢配关系,但是如果两张表,数据量都非常大的时候,并不合适配关系. 例如:student表和score表需要做联合查询. 1)sql: select s.id,s.name,sc.score from student as s,score as sc