thinkphp 怎么使用多表查询?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 怎么使用多表查询?相关的知识,希望对你有一定的参考价值。

参考技术A 在model里进行关联,在 model里这么写,例如是 ArticleViewModel.class.php
class ArticleViewModel extends Model
protected $viewModel = true;
protected $masterModel = 'a';
protected $viewFields = array(
'a'=>array('id','subject','_type'=>'LEFT'),
'b'=>array('title','_on'=>'a.gid=b.id'),
);

那么就可以将表a.gid和表b的id关联起来了。
然后在 ArticleAction.class.php
public function read()
$Article=D("ArticleView");//调用上面的ArticleViewModel
$list=$Article->find();
echo $Article->getlastsql();


然后你会打印出类似:SELECT a.id AS id,a.subject AS subject b.title AS title FROM xx_a a LEFT JOIN xx_b b ON a.gid=b.id
参考技术B 楼上正解。你可以去看手册。手册5.3.18上面有详细的介绍。希望能帮到你 参考技术C 使用关联模型 RelationModel

ThinkPHP join() table()方法的使用,多表查询

table

1
$list = M()->table(‘user1 a, user2 b‘)->where(‘a.id = b.id‘)->field(‘a.name,b.sex‘)->order(‘a.id desc‘)->select();

 

 

join

1
2
$pre = C(‘DB_PREFIX‘);
M("user u")->join("{$per}user_info x ON x.uid = u.id")->where("u.id = $uid")->find();

以上是关于thinkphp 怎么使用多表查询?的主要内容,如果未能解决你的问题,请参考以下文章

THINKPHP 中关联查询(多表查询)

thinkphp3表连查带求和

thinkphp5 怎么进行跨库关联查询

thinkphp中如何是实现多表查询

thinkphp 关联查询 怎么统计关联表查出来的数据数量

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