Mongolid\ActiveRecord::getSchema PHP Method

getSchema() public method

public getSchema ( ) : Schema
return Mongolid\Schema\Schema
    public function getSchema() : Schema
    {
        if ($schema = $this->instantiateSchemaInFields()) {
            return $schema;
        }
        $schema = new DynamicSchema();
        $schema->entityClass = get_class($this);
        $schema->fields = $this->fields;
        $schema->dynamic = $this->dynamic;
        $schema->collection = $this->collection;
        return $schema;
    }

Usage Example

 public function testShouldGetSchemaIfFieldsDescribesSchemaFields()
 {
     // Arrage
     $fields = ['name' => 'string', 'age' => 'int'];
     $this->setProtected($this->entity, 'fields', $fields);
     // Assert
     $result = $this->entity->getSchema();
     $this->assertInstanceOf(Schema::class, $result);
     $this->assertEquals($fields, $result->fields);
     $this->assertEquals($this->entity->dynamic, $result->dynamic);
     $this->assertEquals($this->entity->getCollectionName(), $result->collection);
     $this->assertEquals(get_class($this->entity), $result->entityClass);
 }