2012-04-11 64 views
0

在從包含來自連接的虛擬列的查詢中檢索的PropelORM對象中,是否有方法/方法在toArray()調用中包含虛擬列?使用PropelORM在toArray()調用中包含虛擬列

例如:

$book = BookQuery::create() 
    ->join('Book.Author') 
    ->with('Author') 
    ->where('Author.Name = ?', 'Jane Austen') 
    ->findOne(); 

$aBook = $book->toArray(); 

在上面的代碼中,我想在指定者產生的陣列()調用具有從Authors表中的字段,以及,不只是書籍表。

+1

這是一個推進bug。它現在在github上得到了糾正 – geryjuhasz 2013-06-16 20:26:46

回答

2

如果你看一下指定者()方法定義,你會看到,它接受一個$ includeForeignObjects參數。我認爲這或多或少是你正在尋找的。

$book = BookQuery::create() 
    ->join('Book.Author') 
    ->with('Author') 
    ->where('Author.Name = ?', 'Jane Austen') 
    ->findOne(); 

$aBook = $book->toArray($keyType = BasePeer::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = true); 

參數列表並不漂亮,但它應該工作。

+0

請問你可以鏈接到它聲明$ includeForeignObjects的文檔,對於我來說所有的文檔似乎都以$ alreadyDumpedObjects = array()結尾 – 2012-12-12 16:13:02