thinkphp 關聯查詢
有兩個表,一個是醫院r_hospital,另一個是科室r_department。怎樣關聯查詢,選擇完醫院之後,科室只顯示該醫院的科室,而不顯示其他醫院的了
回複討論(解決方案)
請貼出你的代碼
請貼出你的代碼
class RoomAction extends Action{
public function room(){
$room = M('department');
$h_id = I('get.h_id');
$h_name = I('get.h_name');
print_r($h_id);
print_r($h_name);
$data =$_POST['text'];
print_r($data);
if($data !=''){
//執行sql語句(執行like查詢,搜尋)
$map['name'] = array('like',"%$data%");
$list = $room->where($map)->select();
$this->list = $list;
$this->display();
}else{
$map['hospital_id'] = $h_id;
$list = $room->where($map)->select();
$this->assign("list", $list);
$this->display();
}
}
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);