ThinkPHP多表联合查询的常用方法

时间:2019-07-13 16:37来源:计算机教程
ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 【1、原生查询示例:】 复制代码 代码如下: $Model = new Model(); $sql = 'select a.id,a.title,b.co
ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示:    【1、原生查询示例:】    复制代码 代码如下:  $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);    【2、join()方法示例:】    复制代码 代码如下:  $user = new Model('user');  $list = $user->join('RIGHT JOIN user_profile ON user_stats.id = user_profile.typeid' );    【3、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();

vnsc5858威尼斯城官网, 

 

手册中说的很少,网上查了一下,以前没用tp的时候,就是mysql中也没怎么用过join,现在好蒙哦,tp中的join怎么用的啊?我是想用它来实现多表查询,比如通过文章表中的uid联系到用户中的id,从而查出用户名,这个我想大家也是经常用吧?我在tp中是这样写的:  $JOKES = M('Jokes');  $wish = $JOKES->join('inner join where jokes.uid = user.id')->order('time DESC')->limit($limit)->select();  打印$wish也打印不出来,求解,这个到底该怎么写呢?或者哪里有资料啊?大牛指教 

    $wish = $JOKES->join('user on jokes.uid = user.id')->order('time DESC')->limit($limit)->select();

 


编辑:计算机教程 本文来源:ThinkPHP多表联合查询的常用方法

关键词: