2013-04-29 4 views
0

에 의해 나는 ORM 쿼리 빌더이 쿼리 달성하고자하는Kohana 3 ORM 그룹의 경우

$products = DB::query(Database::SELECT, ' 
    SELECT * FROM `products` 
    GROUP BY CASE `products`.`configurable` 
    WHEN 'yes' THEN `products`.`id_configuration` 
    ELSE `products`.`id` 
    END 
')->execute(); 

을하지만 그것은 MySQL의 DB를 결과를 반환 , 나는 오히려 ORM리스트를 가지게됩니다. 그렇지 않으면 루프 내에서 모든 ORM 오브젝트를 인스턴스화해야 성능이 떨어집니다 ... 아니면 ...?

가능합니까?

$products = DB::query(Database::SELECT, ' 
    SELECT * FROM `products` 
    GROUP BY CASE `products`.`configurable` 
    WHEN 'yes' THEN `products`.`id_configuration` 
    ELSE `products`.`id` 
    END 
') 
->as_object('Model_Product') // !! 
->execute(); 

을 또는 당신이 모델의 내부를 사용하는 경우, 당신은 ->as_object(get_class($this)) 또는 ->as_object($this)를 호출 할 수 있습니다 다음 ORM 'GROUP_BY'기능은

답변

5

당신은 당신이 원하는 결과를 DB의 종류를 정의해야합니다 ... 매우 제한 보인다.

+0

브릴리언트. 오늘은 진짜 너 덕분이다 :) – Piero