개발 Q&A

제목 엑티브레코드. 최근 1개 row만 가져와서 join 시키기
카테고리 DB
글쓴이 신일 작성시각 2019/10/06 17:29:00
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 9305   RSS
안녕하세요, 궁금한게 있어 문의 드려봅니다.

$this->db->join('profile_basic AS d', 'a.recommender_id = d.mem_id');
이렇게 테이블 join을 시켰는데요.

문제가 d.mem_id에 해당하는 것이 복수개라서 1:N이 되는 되는데요.

그래서 복수개의 d.mem_id  row 중에서 가장 최근(created_at) 것을 join 시키고 싶습니다.  

혹시 아시는 분 계실까요?

 

function apply_profile($apply_id)
{                
    $this->db->select('
        a.apply_id, apply_profile_html, pass_yn,
        b.user_id, mobile,
        c.recom_money, pass_money,
        d.profile_img_name, birthdate, job_type, career_yyyy, career_mm, career_level
        ');
    $this->db->from('apply AS a');             
    $this->db->join('member AS b', 'a.mem_id = b.mem_id');                        
    $this->db->join('recruit_basic AS c', 'a.rbs_id = c.rbs_id');
    $this->db->join('profile_basic AS d', 'a.recommender_id = d.mem_id');    //가장 최근 것 1개를 가져와서 join 시켜야 함.               
    $this->db->where('apply_id', $apply_id );
    $query = $this->db->get();
    $result = $query->row();                                                     
    return $result;
}

 

 다음글 codeigniter를 docker로 구성 시에 ind... (4)
 이전글 환경질문입니다. (2)

댓글

kaido / 2019/10/07 09:36:05 / 추천 0
생성일 기준으로 order by 하고 limit 1 넣으면 되는것 아닌가요?
신일 / 2019/10/07 16:45:59 / 추천 0

kaido님. 

$this->db->join('profile_basic AS d', 'a.recommender_id = d.mem_id'   이부분에 order by 하면된다는 말씀이시죠?    );

kaido / 2019/10/07 17:54:41 / 추천 0

익숙하지 않으시면 AR 형태 말고 우선 네이티브하게 쿼리 빌더기에서 쿼리 원문을 뽑아보세요.