在从包含来自连接的虚拟列的查询中检索的PropelORM对象中,是否有方法/方法在toArray()调用中包含虚拟列?
例如:
$book = BookQuery::create()
->join('Book.Author')
->with('Author')
->where('Author.Name = ?', 'Jane Austen')
->findOne();
$aBook = $book->toArray();
在上面的代码中,我希望在toArray()调用中生成的数组也包含Authors表中的字段,而不仅仅是Books表。
答案 0 :(得分:2)
如果查看 toArray()方法定义,您会看到它接受 $ 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);
参数列表并不漂亮,但应该有效。