日期:2014-05-17  浏览次数:20519 次

thinkphp 关联查询问题
有两个表,一个是医院r_hospital,另一个是科室r_department。怎样关联查询,选择完医院之后,科室只显示该医院的科室,而不显示其他医院的了
thinkphp 关联查询

------解决方案--------------------
THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例:

1、table()

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

2、join()

$user = new Model('user');

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



3、原生查询

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