A

Record::associate() — Method in class Record
Sets the referenced fields in this record to reference the record of the given model.
Record::addAssociation() — Method in class Record
Sets the referencing fields in the record of the given model to reference this record.

C

ConnectionClass in namespace Simply\Database\Connection
Interface for database connections that provide basic query functionality to an SQL database.
ConnectionProviderClass in namespace Simply\Database\Connection\Provider
Interface for objects that can initialize and provide the PDO instance for database connectors.
Model::createFromDatabaseRecord() — Method in class Model
Initializes the model with the given database record instead of calling the default constructor.
$Repository#connectionProperty in class Repository
Schema::createRecord() — Method in class Schema
Returns a new empty record for the schema.
Schema::createRecordFromValues() — Method in class Schema
Returns a new record with the given values for the fields.
Schema::createRecordFromRow() — Method in class Schema
Returns a new record with values taken from a result row with optional prefix for fields.
Schema::createModel() — Method in class Schema
Returns a new model that is associated to the given record.
Schema::createModelFromRow() — Method in class Schema
Returns a new model with a new record that has values from the given result row with optional relationships.

D

Connection::delete() — Method in class Connection
Deletes rows from the database.
MySqlConnection::delete() — Method in class MySqlConnection
Deletes rows from the database.
Repository::delete() — Method in class Repository
Deletes the model from the database.

F

Connection::formatTable() — Method in class Connection
Returns an escaped table name aliased to the given alias.
Connection::formatFields() — Method in class Connection
Returns a comma separated list of escaped field names from given table aliased with given prefix.
MySqlConnection::formatFields() — Method in class MySqlConnection
Returns a comma separated list of escaped field names from given table aliased with given prefix.
MySqlConnection::formatTable() — Method in class MySqlConnection
Returns an escaped table name aliased to the given alias.
Query::fetchResult() — Method in class Query
Executes the query and returns a PDOStatement instance for the executed query.
Query::fetchRows() — Method in class Query
Executes the query and returns all result rows as an associated array.
Query::fetchModels() — Method in class Query
Executes the query and returns models for each row with optionally included relationships.
Query::fetchCallback() — Method in class Query
Executes the query and returns an array of results that have been passed through the given callback.
Relationship::fillRelationship() — Method in class Relationship
Fills this relationship for the given records from the list of given records.
Relationship::fillSingleRecord() — Method in class Relationship
Fills this unique relationship for a single record.
RelationshipFiller::fill() — Method in class RelationshipFiller
Fills the given relationships for all records of a single type.
Repository::find() — Method in class Repository
Returns a list of models from the database based on given conditions.
Repository::findOne() — Method in class Repository
Returns a single model based on the given conditions.
Repository::findByPrimaryKey() — Method in class Repository
Finds a single model based on the primary key.
Repository::fillRelationships() — Method in class Repository
Fills the given relationships for the given models.
$StaticSchema#fieldsProperty in class StaticSchema

G

Connection::getConnection() — Method in class Connection
Returns the underlying PDO connection to the database.
MySqlConnection::getConnection() — Method in class MySqlConnection
Returns the underlying PDO connection to the database.
ConnectionProvider::getConnection() — Method in class ConnectionProvider
Provides the active PDO connection and initializes it if necessary.
GenericConnectionProviderClass in namespace Simply\Database\Connection\Provider
A generic lazy loading connector that can take any kind of PDO data source name.
GenericConnectionProvider::getConnection() — Method in class GenericConnectionProvider
Provides the active PDO connection and initializes it if necessary.
MySqlConnectionProvider::getDataSourceName() — Method in class MySqlConnectionProvider
Returns the data source name based on the hostname and the database.
MySqlConnectionProvider::getOptions() — Method in class MySqlConnectionProvider
Returns the default PDO options to use for the connection.
Model::getDatabaseRecord() — Method in class Model
Returns the database record for the model.
Query::generateRows() — Method in class Query
Returns a generator that fetches the rows one by one for memory efficient processing.
Query::generateModels() — Method in class Query
Returns a generator that fetches the models one by one for memory efficient processing.
Query::generateCallback() — Method in class Query
Returns a generator that returns the result of the callback called for each result row one by one.
Record::getPrimaryKey() — Method in class Record
Returns the primary key for the record as it was at the time the record was loaded.
Record::getSchema() — Method in class Record
Returns the schema for the record data.
Record::getModel() — Method in class Record
Returns the model associated with the record and initializes it if has not been initialized yet.
Record::getReferencedRecords() — Method in class Record
Returns the list of referenced records for the given relationship.
Record::getRelatedModel() — Method in class Record
Returns the model of the referenced record in a unique relationship.
Record::getRelatedModels() — Method in class Record
Returns list of models referenced by this record via the given relationship.
Record::getRelatedModelsByProxy() — Method in class Record
Gets list of models that are referenced by records that this record references.
Record::getAllReferencedRecords() — Method in class Record
Returns list of records recursively referenced by this record or any referenced record.
Record::getDatabaseValues() — Method in class Record
Returns the values for the fields in this record for storing in database.
Record::getChangedFields() — Method in class Record
Returns list of all fields that have been modified since the records state was last updated.
Relationship::getName() — Method in class Relationship
Returns the name of the relationship.
Relationship::getSchema() — Method in class Relationship
Returns the referring schema.
Relationship::getFields() — Method in class Relationship
Returns the referring fields.
Relationship::getReferencedSchema() — Method in class Relationship
Returns the referenced schema.
Relationship::getReferencedFields() — Method in class Relationship
Returns referenced fields.
Relationship::getReverseRelationship() — Method in class Relationship
Returns the reverse relationship.
Schema::getModel() — Method in class Schema
Returns the model class used to operate on the records from this schema.
Schema::getTable() — Method in class Schema
Returns the name of the table for the schema.
Schema::getPrimaryKey() — Method in class Schema
Returns a list fields that define the primary key for the schema.
Schema::getFields() — Method in class Schema
Returns the list of fields for the schema.
Schema::getRelationshipDefinitions() — Method in class Schema
Returns an associative list of relationship definitions for the schema.
Schema::getRelationships() — Method in class Schema
Returns a list of all relationships for the schema.
Schema::getRelationship() — Method in class Schema
Returns a single relationship with the given name.
StaticSchema::getModel() — Method in class StaticSchema
Returns the model class used to operate on the records from this schema.
StaticSchema::getTable() — Method in class StaticSchema
Returns the name of the table for the schema.
StaticSchema::getPrimaryKey() — Method in class StaticSchema
Returns a list fields that define the primary key for the schema.
StaticSchema::getFields() — Method in class StaticSchema
Returns the list of fields for the schema.
StaticSchema::getRelationshipDefinitions() — Method in class StaticSchema
Returns an associative list of relationship definitions for the schema.

H

Record::hasReferencedRecords() — Method in class Record
Tells if the referenced records for the given relationship has been loaded.

I

Connection::insert() — Method in class Connection
Inserts a row the database with given column values.
MySqlConnection::insert() — Method in class MySqlConnection
Inserts a row the database with given column values.
GenericConnectionProvider::initializeConnection() — Method in class GenericConnectionProvider
Initializes the PDO connection when first requested.
InvalidRelationshipExceptionClass in namespace Simply\Database\Exception
Exception that gets thrown when trying to use undefined relationships or incorrect types of relationships.
Record::isEmpty() — Method in class Record
Tells if the record is empty, i.e. none of the fields have any values.
Record::isNew() — Method in class Record
Tells if the record is new and not yet inserted into the database.
Record::isDeleted() — Method in class Record
Tells if the record has been deleted from the database.
Relationship::isUniqueRelationship() — Method in class Relationship
Tells if the relationship is unique or not.
Repository::insert() — Method in class Repository
Inserts the given model to the database.

M

MySqlConnectionClass in namespace Simply\Database\Connection
Provides the basic functionality to operate on a MySQL database.
MySqlConnectionProviderClass in namespace Simply\Database\Connection\Provider
Basic connection provider for MySQL databases.
MissingRecordExceptionClass in namespace Simply\Database\Exception
Exception that gets thrown when trying to refresh, update or delete a record that no longer exists in the database.
ModelClass in namespace Simply\Database
A class the defines that possible interactions with a database record.
$StaticSchema#modelProperty in class StaticSchema

O

Record::offsetExists() — Method in class Record
Tells if the value in the given field is other than null.
Record::offsetGet() — Method in class Record
Returns the value for the given field.
Record::offsetSet() — Method in class Record
Sets the value for the given field.
Record::offsetUnset() — Method in class Record
Sets the value of the given field to null and marks it unchanged, if the record has not yet been inserted.

P

$StaticSchema#primaryKeyProperty in class StaticSchema

Q

Connection::query() — Method in class Connection
Executes an arbitrary SQL query in the database.
MySqlConnection::query() — Method in class MySqlConnection
Executes an arbitrary SQL query in the database.
QueryClass in namespace Simply\Database
Provides convenience for writing custom queries while taking advantage of existing defined schemas.
Repository::query() — Method in class Repository
Returns a custom query object for the given SQL statement.

R

$Model#recordProperty in class Model
RecordClass in namespace Simply\Database
Represents data loaded from a database.
RelationshipClass in namespace Simply\Database
Represents a relationship between two schemas.
RelationshipFillerClass in namespace Simply\Database
Facilitates filling relationships for multiple records at the same time.
RepositoryClass in namespace Simply\Database
Provides functionality to perform basic database operations on models.
Repository::refresh() — Method in class Repository
Updates the field values for the model from the database.
$StaticSchema#relationshipsProperty in class StaticSchema

S

Connection::select() — Method in class Connection
Selects rows from the database.
MySqlConnection::select() — Method in class MySqlConnection
Selects rows from the database.
Record::setReferencedRecords() — Method in class Record
Loads the referenced records for the given relationship.
Record::setDatabaseValues() — Method in class Record
Sets the values for the fields in the record loaded from the database.
Repository::save() — Method in class Repository
Inserts or updates the given model based on its state.
SchemaClass in namespace Simply\Database
A schema for a database table.
StaticSchemaClass in namespace Simply\Database
Schema implementation that provides the schema definition via static class properties.

T

$StaticSchema#tableProperty in class StaticSchema

U

Connection::update() — Method in class Connection
Updates rows in the database.
MySqlConnection::update() — Method in class MySqlConnection
Updates rows in the database.
Record::updateState() — Method in class Record
Updates the state of the record after the appropriate database operation.
Repository::update() — Method in class Repository
Updates the model in the database.

W

Query::withSchema() — Method in class Query
Returns a new query object with the given schema.
Query::withParameters() — Method in class Query
Returns a new query with the given parameters.
Query::withoutSchemas() — Method in class Query
Returns a new query object without any schemas.
Query::withoutParameters() — Method in class Query
Returns a new query object without any inserted parameters.

_

MySqlConnection::__construct() — Method in class MySqlConnection
MySqlConnection constructor.
GenericConnectionProvider::__construct() — Method in class GenericConnectionProvider
GenericConnectionProvider constructor.
MySqlConnectionProvider::__construct() — Method in class MySqlConnectionProvider
MySqlConnectionProvider constructor.
Model::__construct() — Method in class Model
Model constructor.
Query::__construct() — Method in class Query
Query constructor.
Record::__construct() — Method in class Record
Record constructor.
Relationship::__construct() — Method in class Relationship
Relationship constructor.
RelationshipFiller::__construct() — Method in class RelationshipFiller
RelationshipFiller constructor.
Repository::__construct() — Method in class Repository
Repository constructor.
Schema::__construct() — Method in class Schema
Schema constructor.