执行同样的操作
我只需要将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
,一切都很好,但我不知道如何对分页的结果
解决方案非常简单。只需在结果中使用toArray()
即可。不要相信自动完成。IDE没有显示该方法,但它存在!信任文档,在这里查看,您会看到注释,分页的结果表现得像集合,这正是我们所需要的。