我只需要将所有结果字段从PHPNAME类型重命名为FIELDNAME。我正在运行这样的查询:
$members = MemberQuery::create()->filterByOrganizerId($organizerId)
->setFormatter($formatter)
->useTableOneQuery()
->useTableTwoQuery()
->where('TableTwo.Status != ?', TableTwo::STATUS_FAILED)
->endUse()
->endUse()
->groupById()
->paginate($page, $pageSize);
$formatter
的位置:
$arrayDataFetcher = new ArrayDataFetcher([]);
$arrayDataFetcher->setIndexType(TableMap::TYPE_FIELDNAME);
$formatter= new ArrayFormatter();
$formatter->setDataFetcher($arrayDataFetcher);
但是每个数组仍然具有PHPNAME字段名。当我没有对结果进行分页并只使用find()
时,我可以在结果上使用toArray
,一切都没问题,但我无法弄清楚如何对分页结果做同样的事情
答案 0 :(得分:0)
解决方案非常简单。只需在结果上使用toArray()
即可。不要相信自动完成。 IDE不显示该方法,但它存在!信任文档,请检查here,您会看到评论表明分页结果的行为与集合相似,这正是我们所需要的。