2013-07-10 21 views
0

我試圖使用ResultSetMappingBuilder從Native查詢中獲取數據。Doctrine 2 ResultSetMapping多對多示例

$sql = "SELECT e.start_date FROM se_events e 
      LEFT JOIN se_event_tags tg ON e.id = tg.event_id 
      LEFT JOIN se_event_type t ON tg.event_type_id = t.id 
      WHERE t.id = :id"; 

我不知道如何構建ResultSetMappingBuilder。

public function createResultSetMapping() { 
    $rsm = new \Doctrine\ORM\Query\ResultSetMappingBuilder($this->getEntityManager()); 
    $rsm->addRootEntityFromClassMetadata('Event', 'e'); 
    return $rsm; 
} 

感謝您的幫助。

回答

0

所以我用一行SQL:

$sql = "SELECT e.start_date FROM se_events e 
LEFT JOIN se_event_tags tg ON e.id = tg.event_id 
LEFT JOIN se_event_type t ON tg.event_type_id = t.id 
WHERE t.id = $id"; 
$stmt = $this->getEntityManager()->getConnection()->prepare($sql); 
$stmt->execute(); 
return $stmt->fetchAll();