我似乎无法确切的经验法则,即使用toArray()
时添加到数组中的内容,请失望,如果我要做这样的事情:
$sheep = SheepQuery::create()->find();
foreach ($sheep as $sheepii) {
$sheepii->getShepherd();
}
return $sheep->toArray();
或它的某些变化,有时我似乎从绵羊表和的列中获得了与牧羊人的子阵列的结果,但有时似乎不包括它,因此,我必须做一些事情,例如将值添加到新数组中时。
任何人都可以指出(链接解释)为什么会发生这种情况以及它背后的规则,因此我不会盲目猜测,如果有一种更好的方法可以做同样的事情,那么我就愿意接受建议。
通常,如果您想在toArray()
内部有一个关系,则需要将其获取或在初始查询中加入。
这将仅返回对象Sheep
的信息:
$sheep = SheepQuery::create()
->find();
$sheep->toArray();
这将返回对象的信息Sheep
和如果有一个:
Shepherd
的关系 $sheep = SheepQuery::create()
->find()
->joinWith('Shepherd');
$sheep->toArray();
这是一篇很好的博客文章,以了解Propel 1.5:当您真正需要数组时。