2016-10-24 3 views
1

내가 가입하고자하는 테이블이 두 개 있습니다. &은 사용자의 역할 이름을 보여줍니다. 여기코드 니디터에 두 개의 테이블에 합류

내 2 개 테이블 내가 사용자 역할의 ID를 저장하고있어 users_mlh 테이블의 역할 열에 users_mlh & user_roles_mlh

에게있는 상황을이다, user_roles_mlh는 사용자 역할의 이름 & ID를 포함합니다. 내가하고 싶은 일은 내 역할보기에서 사용자 역할의 이름을 표시하는 것입니다.

내 테이블은 다음과 같습니다.

Screen1

내가 내 모델

$this->db->select('*'); 
$this->db->from('user_roles_mlh'); 
$this->db->join('users_mlh', 'users_mlh.role = user_roles_mlh.id'); 
$this->db->where('users_mlh.role = user_roles_mlh.id'); 

$query = $this->db->get(); 

return $query->result_array(); 

에서 이것을 시도했지만 난 그 순간에이

https://s4.postimg.org/ot5nyr1hp/Untitled_122.jpg

같은 것을 얻을 위에서는 모든 사용자 수준을하지 나열 각 사용자의 역할

답변

0

역할 이름을 얻기를 위해 별도의 쿼리를 작성할 필요가 없습니다에 같은 논리를 사용합니다. 사용자 데이터를 가져올 때 역할 테이블에 가입하십시오.

$this->db->select('users_mlh.*,user_roles_mlh.role_type'); 
$this->db->from('users_mlh'); 
$this->db->join('user_roles_mlh', 'user_roles_mlh.id = users_mlh.role'); 

$query = $this->db->get(); 

return $query->result_array(); 

시도해보십시오.

+0

감사합니다. @ noufalcep – greenarrow

0
나는 테이블을 사용하는 경우

, 당신은 다음과 같은 요청이 있어야합니다

SELECT users_mlh.*, JOIN user_roles_mlh.role_type 
FROM users_mlh -- list all users 
    LEFT JOIN user_roles_mlh -- and joind by roles 
    ON users_mlh.role = user_roles_mlh.id -- condition for joining 

이 요청을, 당신은 관련된 역할 텍스트로 모든 사용자를해야합니다. 이 요청이 작동하는 경우

그래서, 당신의 ORM

+0

도움 주셔서 감사합니다. – greenarrow

1

사례 1 : 당신은 직접 사용하지 않고 모든 데이터에 액세스하려면 WHERE 조건

$this->db->select("*"); 
    $this->db->from('users_mlh'); 
    $this->db->join('user_roles_mlh', 'user_roles_mlh.id = users_mlh.role'); 

사례 2 : 조건 및 특정 컬럼 데이터 마침내

$this->db->select('user_roles_mlh.role_type,users_mlh.name'); 
    $this->db->from('users_mlh'); 
    $this->db->join('user_roles_mlh', 'user_roles_mlh.id = users_mlh.role'); 
    $this->db->where('users_mlh.id =',1); 

그리고이

하여 결과를 얻을 경우와
$query = $this->db->get(); 
     return $query->result();