Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用F3框架和mongodb为foreach()提供支持_Php_Mongodb_Foreach_Fat Free Framework - Fatal编程技术网

Php 使用F3框架和mongodb为foreach()提供支持

Php 使用F3框架和mongodb为foreach()提供支持,php,mongodb,foreach,fat-free-framework,Php,Mongodb,Foreach,Fat Free Framework,我必须使用F3框架和MongoDb。我在当地工作,试图从我的mongo数据库中获取数据 我得到了一个名为“wtfay”的数据库和一个名为“学生”的集合。当我尝试使用find()方法让所有学生返回我的导航器时:“内部服务器错误”。已为foreach()提供。这个foreach位于工厂函数中框架的“mapper.php”第87行 protected function factory($row) { $mapper=clone($this); $mapper->reset();

我必须使用F3框架和MongoDb。我在当地工作,试图从我的mongo数据库中获取数据

我得到了一个名为“wtfay”的数据库和一个名为“学生”的集合。当我尝试使用find()方法让所有学生返回我的导航器时:“内部服务器错误”。已为foreach()提供。这个foreach位于工厂函数中框架的“mapper.php”第87行

protected function factory($row) {
    $mapper=clone($this);
    $mapper->reset();
    foreach ($row as $key=>$val)
        $mapper->document[$key]=$val;
    $mapper->query=array(clone($mapper));
    if (isset($mapper->trigger['load']))
        \Base::instance()->call($mapper->trigger['load'],$mapper);
    return $mapper;
}
为了连接数据库,我创建了一个studentsModel

namespace APP\MODELS;

class StudentsModel extends \DB\Mongo\Mapper {

    public function __construct() {
        parent::__construct( new \DB\Mongo(new \MongoClient ('mongodb://127.0.0.1:27017'), 'wtfay'), 'students' );
    }
}
在控制器中,为了让所有学生都参与进来,我做了以下工作:

public function get($f3, $params) {
    $this->_data = $this->_studentsModel->find();           
}
谢谢你的要求


ADR Dra

尚未尝试扩展Mongo映射器的方法,但您是否100%确定DB甚至返回任何数据?除此之外,您不必手动创建MongoClient对象。如果您只传递DSN字符串,F3就会为您这样做。当我将终端与mongo一起使用时,我执行:db.students.find()和mongo给我JSON。