2013-08-15 3 views
1

나는이 mysql 쿼리를 가지고 있으며 CodeIgniter를 처음 사용하고 있습니다.이 레코드를 활성 레코드 쿼리로 만들려면 어떻게해야합니까?CodeIgniter Active Record from MySQL 쿼리

SELECT 
    chp_id, 
    chp_destination, 
    cde_name, 
    chp_year, 
    chp_from, 
    chp_to, 
    chp_budget_price_high, 
    chp_medium_price_high, 
    chp_luxury_price_high, 
    chp_budget_price_low, 
    chp_medium_price_low, 
    chp_luxury_price_low, 
    chp_timestamp, 
    chp_comment 
FROM crm_hotel_price 
LEFT JOIN crm_destinations ON cde_id = chp_destination 
WHERE chp_id IN 
    (
     SELECT MAX(chp_id) 
     FROM crm_hotel_price 
     GROUP BY chp_destination, chp_year 
    ) 
ORDER BY 
    chp_id 
+0

을 수행 할 CI의 활발한 기록이 있니? –

+1

이것을보십시오 -> http://ellislab.com/codeigniter/user-guide/database/results.html. 당신은 $ query = $ this-> db-> query ("YOUR QUERY");와 같은 것을 할 수 있고 그 결과'$ query-> result()'를 얻을 수 있습니다. – Boris

답변

1

예 하위 레코드는 활성 레코드에서 아직 지원되지 않으며 클래스를 쉽게 확장 할 수 없습니다. 그래서 당신은 내가했는데, MySQL의 서브 쿼리는 아직 CodeIgniter의의 활성 record..Is으로 만드는 방법에 대한 방법이 다른 방법을 지원하지 않는 것을 발견 무엇인가가이 같은 (테스트하지)

$this->db->select('chp_id') 
    ->select('chp_destination') 
    ->select('cde_name') 
    ->select('chp_year') 
    ->select('chp_from') 
    ->select('chp_to') 
    ->select('chp_budget_price_high') 
    ->select('chp_medium_price_high') 
    ->select('chp_luxury_price_high') 
    ->select('chp_budget_price_low') 
    ->select('chp_medium_price_low') 
    ->select('chp_luxury_price_low') 
    ->select('chp_timestamp') 
    ->select('chp_comment') 
->from('crm_hotel_price') 
->join('crm_destinations', 'cde_id = chp_destination', 'left') 
->where('chp_id IN (SELECT MAX(chp_id) FROM crm_hotel_price GROUP BY chp_destination, chp_year)') 
->order_by('chp_id'); 
$query = $this->db->get(); 
+0

나는 당신의 코드를 생각한다 -> order_by ('ORDER BY chp_id'); 이런 식이어야합니다 -> order_by ('chp_id'); –

+0

@markyorky 감사합니다. – Pattle

+0

alrighty :) 감사합니다. –

관련 문제