我試圖從一個查詢中使用Propel(內部Symfony)從兩個連接的Mysql表中獲取數據的簡單方法。如何在symfony(Propel)中加入表並從兩個表中檢索對象使用一個查詢
比方說,我這樣做簡單的事情:
$comment = CommentPeer::RetrieveByPk(1);
print $comment->getArticle()->getTitle();
//Assuming the Article table is joined to the Comment table
的Symfony會調用2個查詢弄完。第一個獲得Comment行和第二個獲得鏈接到註釋行的Article行。
現在,我試圖找到一種方法,使一個查詢內的所有內容。我試着用
$c = new Criteria();
$c->addJoin(CommentPeer::ARTICLE_ID, ArticlePeer::ID);
$c->add(CommentPeer::ID, 1);
$comment = CommentPeer::doSelectOne($c);
加入他們但是當我嘗試使用
$comment->getArticle()
獲得Article對象它仍然會發出查詢來獲取物品列。我可以很容易地清除所有選定的列,並選擇我需要的列,但這不會給我我想要的Propel對象,只是查詢的原始結果數組。
那麼我怎樣才能得到一個填充的推動對象的兩個(或更多)連接表只有一個查詢?
感謝,
JP
謝謝,我不知道有這樣的方法。 – Caissy 2010-03-26 18:13:35