thinkphp3.2多表查询用法详解

主表:

$table=M('table1');

2表:

可以使用$table和$join


$table = "table1 AS a";
$join = "table2 b ON a.id=b.a_id";
$list = $table->table($table)->join($join)->select();
$this->assign('list', $list);
$this->display();

3表及以上:

单独$join (注:3表及以上查询主表要使用全名,不能使用简写代替表名)


$join1 = "table2 b ON table1.id=b.t_id";
$join2 = "table3 c ON table1.name=c.t_name";
$list = $table->join($join1)->join($join2)->select();
$this->assign('list', $list);
$this->display();

简单介绍一下join的第二个参数type:
left:即使 有右表中没有匹配 ,也从左表中返回所有的行;
right:即使左表中没有匹配,也从右表中返回所有的行;
full:只要其中一个表中匹配,就返回行。

转载请注明来源:开发猿 » thinkphp3.2多表查询用法详解

赞 (2) 打赏

觉得文章有用就打赏一下哦

支付宝扫一扫打赏

微信扫一扫打赏