thinkphp 怎么使用多表查询?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 怎么使用多表查询?相关的知识,希望对你有一定的参考价值。
参考技术A 在model里进行关联,在 model里这么写,例如是 ArticleViewModel.class.phpclass 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()方法的使用,多表查询
ThinkPHP模型类?比较常用的两个方法,table() join()
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 怎么使用多表查询?的主要内容,如果未能解决你的问题,请参考以下文章