Home > PHP Framework > ThinkPHP > body text

Common methods for joint query of multiple tables in ThinkPHP

藏色散人
Release: 2021-04-23 16:20:37
forward
5516 people have browsed it

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);
Copy after login

2. Join() method example:

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

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();
Copy after login

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();
Copy after login

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!

source:jb51.net
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template