DatabaseRepositoryBackend
        
        extends RepositoryBackend
    
    
            
            in package
            
        
    
    
    
        
            Repository backend for database records.
Tags
Table of Contents
- $cacheTimeout : string
 - $configs : array<string|int, ModelConfig>
 - The available models in this backend.
 - $identifier : string
 - $junctions : array<string|int, mixed>|ModelConfig
 - The junction tables.
 - $preparedStatements : array<string|int, mixed>
 - Prepared statements for get() requests.
 - __call() : mixed
 - Report that the $method doesn't exist.
 - __callStatic() : mixed
 - Report that the $method doesn't exist.
 - __construct() : mixed
 - __get() : mixed
 - Report that $property doesn't exist.
 - __set() : mixed
 - Report that $property doesn't exist and set the property to the given $value.
 - __toString() : string
 - The object is used as an string.
 - add() : array<string|int, mixed>
 - INSERT record INTO the database.
 - all() : DatabaseCollection
 - Retrieve all available model-data.
 - boolToValue() : string
 - Convert a boolean to a database value.
 - delete() : mixed
 - Permanently remove an record based on the data.
 - get() : array<string|int, mixed>
 - Load the record from the db.
 - getSchema() : array<string|int, mixed>
 - Get column and relation information from the database.
 - inspectDatabase() : mixed
 - Create model configs based on the tables in the database schema.
 - related() : Traversable|array<string|int, mixed>
 - Retrieve all related model-data.
 - renameModel() : mixed
 - Rename a model and remap the relations to the new name.
 - renameProperty() : mixed
 - Rename a property and remap the relations to the new name.
 - skipProperty() : mixed
 - Remove a property.
 - update() : array<string|int, mixed>
 - Update an existing record.
 - valueToBool() : bool
 - Convert value from the database to a boolean.
 - valueToInt() : int
 - Convert value from the database to an int.
 - generateWhere() : string
 - getSchemaMySql() : array<string|int, mixed>
 - Extract the Database schema from a MySQL database.
 - getSchemaSqlite() : array<string|int, mixed>
 - Extract the Database schema from a Sqlite database.
 - quote() : mixed
 - Don't put quotes around number for columns that are assumend to be integers ('id' or ending in '_id').
 - stripIdSuffix() : string
 - Remove the "_id" suffix from a columnname.
 - stripQuotedValue() : int
 
Properties
$cacheTimeout
    public
    static    string
    $cacheTimeout
     = '20sec'
    
        The TTL of the database schema cache.
$configs
The available models in this backend.
    public
        array<string|int, ModelConfig>
    $configs
    
    
        array('Model name' => ModelConfig, 'Model2 name' => ModelConfig, ...)
$identifier
    public
        string
    $identifier
     = 'db'
    
    
    
$junctions
The junction tables.
    public
        array<string|int, mixed>|ModelConfig
    $junctions
     = []
    
    
    
$preparedStatements
Prepared statements for get() requests.
    private
        array<string|int, mixed>
    $preparedStatements
     = []
    
    
    
Methods
__call()
Report that the $method doesn't exist.
    public
                __call(string $method, array<string|int, mixed> $arguments) : mixed
    
        Parameters
- $method : string
 - $arguments : array<string|int, mixed>
 
Return values
mixed —__callStatic()
Report that the $method doesn't exist.
    public
            static    __callStatic(string $method, array<string|int, mixed> $arguments) : mixed
    
        Parameters
- $method : string
 - $arguments : array<string|int, mixed>
 
Return values
mixed —__construct()
    public
                __construct([array<string|int, mixed>|string $databases = [] ]) : mixed
    
        Parameters
- $databases : array<string|int, mixed>|string = []
 
Return values
mixed —__get()
Report that $property doesn't exist.
    public
                __get(string $property) : mixed
    
        Parameters
- $property : string
 
Return values
mixed —__set()
Report that $property doesn't exist and set the property to the given $value.
    public
                __set(string $property, mixed $value) : mixed
    
        Parameters
- $property : string
 - $value : mixed
 
Return values
mixed —__toString()
The object is used as an string.
    public
                __toString() : string
    
    
    
        Return values
string —add()
INSERT record INTO the database.
    public
                add(array<string|int, mixed> $data, array<string|int, mixed> $config) : array<string|int, mixed>
    
        Parameters
- $data : array<string|int, mixed>
 - $config : array<string|int, mixed>
 
Return values
array<string|int, mixed> —all()
Retrieve all available model-data.
    public
                all(array<string|int, mixed> $config) : DatabaseCollection
    
        Parameters
- $config : array<string|int, mixed>
 
Return values
DatabaseCollection —boolToValue()
Convert a boolean to a database value.
    public
            static    boolToValue(bool $bool) : string
        Doesn't convert all values. (A tinyint(1) can also be a number or might be null).
Parameters
- $bool : bool
 
Return values
string —delete()
Permanently remove an record based on the data.
    public
                delete(array<string|int, mixed> $row, array<string|int, mixed> $config) : mixed
    
        Parameters
- $row : array<string|int, mixed>
 - 
                    
The data
 - $config : array<string|int, mixed>
 
Return values
mixed —get()
Load the record from the db.
    public
                get(mixed $id, array<string|int, mixed> $config) : array<string|int, mixed>
    
        Parameters
- $id : mixed
 - $config : array<string|int, mixed>
 
Return values
array<string|int, mixed> —getSchema()
Get column and relation information from the database.
    public
                getSchema(Database $db[, string $prefix = '' ]) : array<string|int, mixed>
    
        Parameters
- $db : Database
 - $prefix : string = ''
 - 
                    
Table prefix
 
Tags
Return values
array<string|int, mixed> —inspectDatabase()
Create model configs based on the tables in the database schema.
    public
                inspectDatabase([string $dbLink = 'default' ][, mixed $tablePrefix = '' ]) : mixed
    
        Parameters
- $dbLink : string = 'default'
 - $tablePrefix : mixed = ''
 
Return values
mixed —related()
Retrieve all related model-data.
    public
                related(mixed $config, mixed $reference, mixed $id) : Traversable|array<string|int, mixed>
    
        Parameters
- $config : mixed
 - $reference : mixed
 - $id : mixed
 
Return values
Traversable|array<string|int, mixed> —renameModel()
Rename a model and remap the relations to the new name.
    public
                renameModel(string $from, string $to) : mixed
    
        Parameters
- $from : string
 - 
                    
Current name
 - $to : string
 - 
                    
The new name
 
Return values
mixed —renameProperty()
Rename a property and remap the relations to the new name.
    public
                renameProperty(string $model, string $from, string $to) : mixed
    
        Parameters
- $model : string
 - 
                    
The modelname
 - $from : string
 - 
                    
The current propertyname
 - $to : string
 - 
                    
The new propertyname
 
Return values
mixed —skipProperty()
Remove a property.
    public
                skipProperty(string $model, string $property) : mixed
    
        Parameters
- $model : string
 - 
                    
The modelname
 - $property : string
 - 
                    
The current propertyname
 
Return values
mixed —update()
Update an existing record.
    public
                update(array<string|int, mixed> $new, array<string|int, mixed> $old, array<string|int, mixed> $config) : array<string|int, mixed>
    
        Parameters
- $new : array<string|int, mixed>
 - $old : array<string|int, mixed>
 - $config : array<string|int, mixed>
 
Return values
array<string|int, mixed> —valueToBool()
Convert value from the database to a boolean.
    public
            static    valueToBool(string $value) : bool
        Doesn't convert all values. (tinyint(1) can also be a number or might be null).
Parameters
- $value : string
 
Return values
bool —valueToInt()
Convert value from the database to an int.
    public
            static    valueToInt(string $value) : int
    
        Parameters
- $value : string
 
Return values
int —generateWhere()
    private
                generateWhere(array<string|int, mixed> $keys, array<string|int, mixed> $config[, mixed $prepare = false ]) : string
    
        Parameters
- $keys : array<string|int, mixed>
 - 
                    
Array containing the primay keys
 - $config : array<string|int, mixed>
 - $prepare : mixed = false
 
Return values
string —getSchemaMySql()
Extract the Database schema from a MySQL database.
    private
                getSchemaMySql(Database $db[, mixed $prefix = '' ]) : array<string|int, mixed>
    
        Parameters
- $db : Database
 - $prefix : mixed = ''
 
Return values
array<string|int, mixed> —schema definition
getSchemaSqlite()
Extract the Database schema from a Sqlite database.
    private
                getSchemaSqlite(mixed $db[, mixed $prefix = false ]) : array<string|int, mixed>
    
        Parameters
- $db : mixed
 - $prefix : mixed = false
 
Return values
array<string|int, mixed> —schema definition
quote()
Don't put quotes around number for columns that are assumend to be integers ('id' or ending in '_id').
    private
                quote(Database $db, string $column, mixed $value) : mixed
    
        Parameters
- $db : Database
 - $column : string
 - $value : mixed
 
Return values
mixed —stripIdSuffix()
Remove the "_id" suffix from a columnname.
    private
                stripIdSuffix(string $column) : string
    
        Parameters
- $column : string
 
Return values
string —stripQuotedValue()
    private
                stripQuotedValue(type $parts, type &$value, type $offset[, type $open = "'" ][, type $close = null ]) : int
    
        Parameters
- $parts : type
 - $value : type
 - $offset : type
 - $open : type = "'"
 - $close : type = null