符合第2条ODM MongoDB原则的资格

符合第2条ODM MongoDB原则的资格,mongodb,doctrine-orm,zend-framework2,odm,laminas-api-tools,Mongodb,Doctrine Orm,Zend Framework2,Odm,Laminas Api Tools,从API中获取实体时,出现错误: PHP致命错误:在第442行的/Sites/system.local/vendor/zfcampus/zf-apigility-doctor/src/Server/Resource/DoctrineResource.PHP中对非对象调用成员函数createQuery() DoctrineResource.php(第442行的函数-fetchAll): /** *获取全部或部分资源 * *@see Apigility/doctor/Server/Resource/

从API中获取实体时,出现错误:

PHP致命错误:在第442行的/Sites/system.local/vendor/zfcampus/zf-apigility-doctor/src/Server/Resource/DoctrineResource.PHP中对非对象调用成员函数createQuery()

DoctrineResource.php(第442行的函数-fetchAll):

/**
*获取全部或部分资源
*
*@see Apigility/doctor/Server/Resource/AbstractResource.php
*@param数组$data
*@返回问题|混合
*/
公共函数fetchAll($data=array())
{
//生成查询
$queryProvider=$this->getQueryProvider('fetch_all');
$queryBuilder=$queryProvider->createQuery($this->getEvent(),$this->getEntityClass(),$data);
if($queryBuilder instanceof ApiProblem){
//@codecoverageignostart
返回$queryBuilder;
}
//@codecoverageignorend
//使用查询生成器运行fetch all pre
$event=newdoctrineResourceEvent(DoctrineResourceEvent::event\u FETCH\u ALL\u PRE$this);
$event->setQueryBuilder($queryBuilder);
$event->setResourceEvent($this->getEvent());
$event->setEntity($this->getEntityClass());
$eventManager=$this->getEventManager();
$response=$eventManager->trigger($event);
如果($response->apisproblem的最后一个()实例){
返回$response->last();
}
$adapter=$queryProvider->getPaginatedQuery($queryBuilder);
$reflection=new\ReflectionClass($this->getCollectionClass());
$collection=$reflection->newInstance($adapter);
$results=$this->triggerDoctrineEvent(DoctrineResourceEvent::EVENT\u FETCH\u ALL\u POST,null,$collection);
如果($results->last()实例出现问题){
返回$results->last();
}
//添加事件以设置额外的HAL数据
$entityClass=$this->getEntityClass();
StaticEventManager::getInstance()->attach(
“ZF\Rest\RestController”,
'getList.post',
函数($e)使用($queryProvider、$entityClass、$data){
$halCollection=$e->getParam('collection');
$collection=$halCollection->getCollection();
$collection->setItemCountPerPage($halCollection->getPageSize());
$collection->setCurrentPageNumber($halCollection->getPage());
$halCollection->setAttributes(
排列(
“count”=>$collection->getCurrentItemCount(),
“总计”=>$collection->getTotalItemCount(),
“collectionTotal”=>$queryProvider->getCollectionTotal($entityClass),
)
);
$halCollection->setCollectionRouteOptions(
排列(
'query'=>ArrayUtils::iteratorToArray($data)
)
);
}
);
退回$collection;
}
My composer.json:

{
“名称”:“zf校园/zf蜂巢骨架”,
“说明”:“蜂巢骨架申请”,
“类型”:“库”,
“许可证”:“BSD-3-条款”,
“关键词”:[
“api”,
“灵巧”,
“框架”,
“zf2”
],
“主页”:http://apigility.org/",
“支持”:{
“email”:“apigility”-users@zend.com",
“irc”:irc://irc.freenode.net/apigility",
“来源”:https://github.com/zfcampus/zf-apigility-skeleton",
“问题”:https://github.com/zfcampus/zf-apigility-skeleton/issues"
},
“配置”:{
“进程超时”:5000
},
“额外”:{
“分支别名”:{
“开发主机”:“1.0-dev”,
“开发人员开发”:“1.1-dev”
}
},
“存储库”:[
{
“类型”:“git”,
“url”:”https://github.com/stefanotorresi/zf-hal.git"
}
],
“要求”:{
“php”:“>=5.3.23”,

“zendframework/zendframework”:“>=2.3.2,当你做
var_dump($queryProvider);
?@MarcelDjaman,谢谢你的回复!这让我得到了-NULLdo
var_dump($this->getQueryProviders());
来获得可用方法的列表,如果你看到正确的方法,请将字符串名称传递给
$this->getQueryProvider('my_provider_name')
@MarcelDjaman getQueryProviders()为空,但我将它们添加到module.config中。