Home >php教程 >php手册 >ThinkPHP中关联查询实例

ThinkPHP中关联查询实例

WBOY
WBOYOriginal
2016-06-06 20:16:171065browse

这篇文章主要介绍了ThinkPHP中关联查询的用法,实例分析了ThinkPHP中table、join及原生查询与多表查询等的用法,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了ThinkPHP中关联查询的用法。分享给大家供大家参考。具体分析如下:

在THINKPHP中关联查询(多表查询)可以使用 table() 方法或和join方法,如下示例所示:

1、table()

复制代码 代码如下:

$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();


2、join()

复制代码 代码如下:

$user = new Model('user'); 
$list = $user->join('RIGHT JOIN user_profile ON user_stats.id = user_profile.typeid' )->select();


3、原生查询

复制代码 代码如下:

$Model = new Model(); 
$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; 
$voList = $Model->query($sql);


4、多表查询

复制代码 代码如下:

$Model->field('user.name,role.title')->table('think_user user,think_role role')->limit(10)->select();


或:

复制代码 代码如下:

$Model->field('user.name,role.title')->table(array('think_user'=>'user','think_role'=>'role'))->limit(10)->select();

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn