2010-06-03 51 views
0

HI,如何用ttwo表進行連接?

我嘗試此查詢翻譯:

SELECT * 
FROM `reunion` , lieu 
WHERE reunion.lieu_reunion = lieu.id_lieu 

推動查詢:

$c=new Criteria(); 
$c->addJoin(ReunionPeer::LIEU_REUNION,LieuPeer::ID_LIEU, Criteria::LEFT_JOIN); 
$this->reunions = ReunionPeer::doSelect($c); 

但在我的模板,當我做了一個的print_r($聚會),場「ville」(來自'lieu'表)不存在。

爲什麼?

回答

1

首先,你的Propel查詢語句將被轉換爲:

SELECT * FROM `reunion` LEFT JOIN lieu ON (reunion.lieu_reunion = lieu.id_lieu); 

然後我可以建議是:

$c=new Criteria(); 
$c->clearSelectColumns(); 
ReunionPeer::addSelectColumns($c); 
LieuPeer::addSelectColumns($c); 

$c->addJoin(ReunionPeer::LIEU_REUNION,LieuPeer::ID_LIEU, Criteria::LEFT_JOIN); 
$this->reunions = ReunionPeer::doSelect($c); 
1

如果你宣佈你的數據庫架構上的外鍵,行走將創建在一個查詢中爲您添加相關表格和對象的連接和水合的額外功能:

$this->reunions = ReunionPeer::doSelectJoinLieu(new Criteria());