Ejemplo n.º 1
0
	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);
	}
Ejemplo n.º 2
0
	/**
	 * 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;
	}