Home  >  Article  >  PHP Framework  >  Common methods for joint query of multiple tables in ThinkPHP

Common methods for joint query of multiple tables in ThinkPHP

藏色散人
藏色散人forward
2021-04-23 16:20:235323browse

The following tutorial column of thinkphp will introduce to you the common methods of joint query of multiple tables in ThinkPHP. I hope it will be helpful to friends in need!

Related queries (i.e. multi-table joint queries) in ThinkPHP can use the table() method or the join method. The specific usage is as shown in the following example:

1. Native query example:

$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() method example:

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

Thinkphp method of using join table query

$user = M('user');
$b_user = M('b_user');
$c_user = M('c_user');
$list = $user->alias('user')->where('user.user_type=1')
  ->join('b_user as b on b.b_userid = user.user_id')
  ->join('c_user as c on c.c_userid = b.b_userid')
  ->order('b.user_time')
  ->select();

The user_id of the $user table is equal to the b_userid of the $b_user table;

The c_userid of the $c_user table is equal to the b_userid of the $b_user table;

3. Table() method example:

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

Related recommendations: The latest 10 thinkphp video tutorials

The above is the detailed content of Common methods for joint query of multiple tables in ThinkPHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:jb51.net. If there is any infringement, please contact admin@php.cn delete