我正试图从MongoDB获取记录。要获取记录,我使用以下代码;
public function getEventsForAggregate($identifier)
{
$events = $this->MongoCollection()->findOne([
'_id' => $identifier
], [
'events',
]);
var_dump($events);
}
不幸的是它在findOne
上消失了。
我是否更改了代码,以便findOne
处于受保护的功能中,它确实有效。
所以下面的代码确实有效。
public function getEventsForAggregate($identifier)
{
$events = $this->getEvents($identifier);
var_dump($events);
}
protected function getEvents($identifier)
{
return $this->MongoCollection()->findOne([
'_id' => $identifier
], [
'events',
]);
}
有人可以解释第一个代码是如何破解的,但第二个代码有效吗?
额外代码;
/** @var MongoCollection */
protected $mongoCollection;
public function __construct(MongoCollection $MongoCollection)
{
$this->mongoCollection = $MongoCollection;
}
/**
* @return MongoCollection
*/
protected function MongoCollection()
{
return $this->mongoCollection;
}