2010-12-02 4 views
0

나는 Kohana 3.x를 사용합니다. 간단한 쿼리를 내 MySQL 데이터베이스에서 개체를 검색 할 수 있습니다.Kohana 3.x : 엔티티 및 모든 구성원에 대한 SQL- 쿼리

$query = DB::query(Database::SELECT, "SELECT * FROM myEntity WHERE foreignKey = {$myForeignKey};"); 
$result = $query->execute($this->database); 
$resultArray = $result->as_array(); 

예상대로 작동합니다. My $ resultArray는 쿼리와 일치하는 엔티티가있는만큼의 개체를 포함합니다. $ resultArray 내의 각 객체는 사전이며 kex-value-pairs 속성을 포함합니다.

하지만 지금은 각 "myEntity"에 대한 모든 구성원 속성을 얻고 싶습니다! 지금은 소위으로 PHP를 위해 루프를 사용하고 있습니다 : 나는 각 "myEntity"개체에 대한 또 다른 SQL-쿼리를 할 바보 같아요

foreach ($resultArray as $entity) { 
    $query = DB::query(Database::SELECT, "SELECT * FROM member WHERE foreignKey = {$entity['id']};"); 
    $result = $query->execute($this->database); 
    $memberArray = $result->as_array(); 
    // do something with the memberArray.. 
    } 

, 그리고 차라리 하나 개의 쿼리를 수행하고 싶습니다 모든 "myEntities"와 각 "myEntities"의 모든 멤버를 합한 것입니다. 그러나 나는 그것을 어떻게 할 수 있습니까?

+0

하나의 쿼리로 두 테이블을 결합하여 결과를 얻을 수 있습니다. –

답변

0

이 작업을 시도해보고 원하는 결과가 나오는지 확인할 수 있습니까?

SELECT * FROM myEntity 
join member on member.foreignKey = myEntity.foreignKey 
WHERE myEntity.foreignKey = {$myForeignKey}; 
+0

결과에 원하는 두 테이블의 특정 열 목록으로 *를 대체 할 수 있습니다. –