Неустранимая ошибка: вызов неопределенного метода MongoCursor :: toArray ()

Я хочу преобразовать курсор в массив, так что я вижу результат курсора, для этого, когда я использовал toArray mongodb, то эта ошибка показала

«Неустранимая ошибка: вызов неопределенного метода MongoCursor :: toArray ()»

Вот мой код:

$getting_started_collection = $this->getServiceLocator()->get('Common\Collection\ResourcesGettingStarted');
$criteria = array(
'$or' => array(
array('affiliate_type' => 'cpl_cpm'),
array('affiliate_type' => 'cpl')
)
);
$columns = array(
'_id' => true,
'title' => true,
'description' => true,
'logo' => true,
'pdf' => true
);
$cursor = $getting_started_collection->fetchAll($criteria, $columns, true);
$data_array = $cursor->toArray();
echo("<pre>");
print_r($data_array);
die();

как я использовал https://docs.mongodb.com/manual/reference/method/cursor.toArray/ ?

0

Решение

Это потому что MongoCursor класс не имеет метода, вызываемого toArray, Вот список всех доступных методов MongoCursor.
Вы должны использовать iterator_to_array() как в Example #1 в ручную:

<?php

$cursor = $collection->find();
var_dump(iterator_to_array($cursor));

?>

Источник: http://php.net/manual/en/class.mongocursor.php

В вашем примере:

$cursor = $getting_started_collection->fetchAll($criteria, $columns, true);
$data_array = iterator_to_array($cursor);
echo("<pre>");
print_r($data_array);
die();
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]