public function testSerializeForSaving() { $data = array( array('_id' => new \MongoId('4e74f5554cfb452b6e000000'), 'author' => 'James', 'body' => 'Hello'), array('_id' => new \MongoId('4e74f5554cfb452b6e000000'), 'author' => 'Armaan', 'body' => 'Hello') ); $collection = Many::fromMongoData(new MockPost, 'mock_comments', $data); $result = $collection->serializeForSaving(); $this->assertEquals($data, $result); }
/** * Intantiates model from MongoDB data * * @param array $data * @return object */ public static function fromMongoData($data) { $class = get_called_class(); $instance = new $class; foreach (static::$_embedsMany as $embedded) { if (isset($data[$embedded])) { $instance->_embedded[$embedded] = Many::fromMongoData($instance, $embedded, $data[$embedded]); unset($data[$embedded]); } } $instance->_data = $data; $instance->_data['id'] = (string)$data['_id']; $instance->_newRecord = false; return $instance; }