2012-11-10 2 views
1

이 코드 서명자 쿼리를 작성하는 가장 좋은 방법입니까?CodeIgniter DB get_where와 join

$where = array('registration_status_fk' => 2, 'membership.membership_type_id' => 4); 
$join = array('membership', 'membership.id=members.id'); 

$query = $this->join($join[0], $join[1])->get_where($this->tbl_name, $where); 

또는 내가하는 일을 수행하는 데 더 좋은 방법이 있습니까?

내가 당신 쿼리 이런 식으로 가입 쓸 수

Error Number: 1054 

Unknown column 'membership.membership_type_id' in 'where clause' 

SELECT * FROM (`member`) WHERE `registration_status_fk` = 2 AND `membership`.`membership_type_id` = 4 

Filename: C:\xampp\htdocs\OAWA\system\database\DB_driver.php 

Line Number: 330 

답변

4

를 얻을 오류입니다. $where 배열에서

$this->db->select('*')->from('members')->join('membership', 'membership.id=members.id')->where($where)->get(); 

당신은 열 이름과 테이블 이름이 필요하거나 두 테이블이 동일한 열이있는 경우가 작동하지 않을 수 있습니다.

+1

으로 변경해야하며 여전히 '-> result()'를 연결할 수 있습니다. – noinput

0

너무 가까이에 있습니다.

$where = array('as_id' => $id); 
    $join = array('as_types', 'as_types.as_type_id=assets.as_type'); 
    $query = $this->db->join($join[0], $join[1])->get_where('assets', $where); 

재 쓰기 쿼리이 방법 :

$where = array('registration_status_fk' => 2, 'membership.membership_type_id' => 4); 
$join = array('membership', 'membership.id=members.id'); 
$query = $this->join($join[0], $join[1])->get_where('members', $where); 

주의를 유일한 변화는

나는 올바른 결과를 생산하고 내 자신의 가입/get_where 문을 구축하기 위해 예를 사용 3 행에서 : $this->tbl_name은 간단한 문자열, 'members'

관련 문제