Home  >  Article  >  Backend Development  >  thinkphp 关联查询问题

thinkphp 关联查询问题

WBOY
WBOYOriginal
2016-06-23 14:23:47961browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn