2
現在、Mongo DBからフェッチされた各ドキュメントはstdClass
オブジェクトに移動します。代わりに自分のカスタムクラスに直接ロードしたいと思います。指定されたクラスにMongoDB Driver Cursorオブジェクトを直接取り込みます
クラス
class TestClass {
private $id;
private $class;
function __construct($id, $name) {
$this->id = $id;
$this->class = $class;
}
}
コード
$m = MongoDB\Driver\Manager('mongodb://<user>:<pass>@<host>/<db>');
$query = MongoDB\Driver\Query(['name' => 'TestFirst']);
// I tried adding the following line, but it says that the constructor args are missing.
// If I omit it, it just adds each cursor object as an instance of stdClass
$opt = ['cursor' => new TestClass];
$results = $m->executeQuery('newDb.testCollection', $query, $opt);
foreach ($results as $document) {
var_dump($document);
}
は私が可能達成したい、または私は各stdClass
オブジェクトを通過し、TestClass
のインスタンスにキャストする必要があります何ですか?