2012-12-04 4 views
0

사용자 입력에 데이터를 일치시키기 위해 조인 후에 where 절을 지정할 수 있는지 묻고 싶습니다. 예를 들어 말해 나는 다음과 같은 코드가 있습니다JOIN 절 뒤에 WHERE 절 지정 - 활성 레코드 - CodeIgniter

$this->db->select('user.*,role.*') 
    $this->db->from('user'); 
    $this->db->where('user.username', $username); 
    $this->db->where('user.password', $password); 
    $this->db->join('role','role.id = user.role_id') 
    $result = $this->db->get(); 

을 나는 테이블의 역할 '에서 일치하는 데이터를 조회 할 :이게 가능

$this->db->select('user.*,role.*') 
    $this->db->from('user'); 
    $this->db->where('user.username', $username); 
    $this->db->where('user.password', $password); 
    $this->db->join('role','role.id = user.role_id') 
    $this->db->where('role.speaker', $speaker); //want to know if this is correct 
    $result = $this->db->get(); 

를? JOIN 후 결과를 비교할 수 있습니까? 그러면 WHERE 절과 일치하는 결과가 생성됩니까?

감사합니다.

답변

4

CodeIgniter는 ->get()이 호출 될 때까지 실제로 쿼리를 작성하지 않습니다. 원하는 순서대로 메서드를 호출 할 수 있습니다.

+0

그래, 답장을 보내 주셔서 감사합니다. – a7omiton

0
$this->db->select(array('tbl_board_type_details.id','tbl_board_type_details.price','tbl_bord_type.bord_type_name')); 
    $this->db->from(array('tbl_board_type_details')); 
    $this->db->join('tbl_bord_type','tbl_bord_type.id=tbl_board_type_details.board_type_id'); 
    $this->db->where('tbl_board_type_details.hotel_id', $id); 
    $query = $this->db->get(); 
    $boardtype_result = $query->result(); 
    $data['boardtype_result'] = $boardtype_result; 

이 코드를 사용해보십시오. 괜찮 았어.