我正在使用mongodb插件 ichikaway/cakephp-mongodb
和cakephp 2.6.1
收集后的数据 link to image
在cakephp中,它向我展示了 link to image
Cakephp控制器端代码:
$params = array(
'fields' => array('title', 'body', 'hoge'),
//'fields' => array('Post.title', ),
//'conditions' => array('title' => 'hehe'),
//'conditions' => array('hoge' => array('$gt' => '10', '$lt' => '34')),
//'order' => array('title' => 1, 'body' => 1),
'order' => array('_id' => "DESC"),
'limit' => 35,
'page' => 1,
);
$results = $this->Post->find('all', $params);
我想从mongodb中提取每一个数据但是这个插件没有提供我最后的数据。 我检查了正确的计数。
答案 0 :(得分:0)
我是否认为在将PHP驱动程序升级到1.6.0后才出现此错误? CakePHP模块使用MongodbSource::read()
中的hasNext()
and getNext()
,它将受到1.6.0中引入的错误(PHP-1382)的影响。修复程序已合并,应在2015-02-05(明天)发布为1.6.1。
有关其他背景信息,请参阅有关该主题的上一个答案:https://stackoverflow.com/a/28304142/162228
答案 1 :(得分:0)
在MongodbSource.php文件中,我做了一些简单的改动 在阅读功能
有一个代码
public function read(Model $Model, $query = array(), $recursive = null) {
........
while ($return->hasNext()) {
$mongodata = $return->getNext();
将其更改为
public function read(Model $Model, $query = array(), $recursive = null) {
........
foreach ($return as $data) {
$mongodata = $data;
和yurekaaaa,它的工作正常。