ModelClass
extends ModelCore
in package
The class from which all models inherit, connects to the database, check the structure of the table and if necessary create or adapt.
Use FacturaScripts\Core\Template\ModelClass instead
Table of Contents
Constants
- AUDIT_CHANNEL = 'audit'
- DATE_STYLE = 'd-m-Y'
- DATETIME_STYLE = 'd-m-Y H:i:s'
- HOUR_STYLE = 'H:i:s'
Properties
Methods
- __construct() : mixed
- ModelClass constructor.
- addExtension() : mixed
- Adds an extension to this model.
- all() : array<string|int, static>
- Returns all models that correspond to the selected filters.
- changePrimaryColumnValue() : bool
- Change the value of the primary column in the model and the database.
- clear() : mixed
- Reset the values of all model properties.
- codeModelAll() : array<string|int, CodeModel>
- Allows to use this model as source in CodeModel special model.
- codeModelSearch() : array<string|int, CodeModel>
- Allows to use this model as source in CodeModel special model.
- count() : int
- Returns the number of records in the model that meet the condition.
- delete() : bool
- Remove the model data from the database.
- exists() : bool
- Returns true if the model data is stored in the database.
- get() : static|false
- Returns the model whose primary column corresponds to the value $cod
- getModelFields() : array<string|int, mixed>
- Returns the list of fields in the table.
- hasExtension() : bool
- Returns true if the extension exists.
- install() : string
- This function is called when creating the model table. Returns the SQL that will be executed after the creation of the table. Useful to insert values default.
- loadFromCode() : bool
- Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.
- loadFromData() : mixed
- Assign the values of the $data array to the model properties.
- modelClassName() : string
- Returns the name of the class of the model.
- newCode() : int
- Returns the following code for the reported field or the primary key of the model.
- pipe() : mixed
- Executes all $name methods added from the extensions.
- pipeFalse() : bool
- Executes all $name methods added from the extensions until someone returns false.
- primaryColumn() : string
- Returns the name of the column that is the model's primary key.
- primaryColumnValue() : mixed
- Returns the current value of the main column of the model.
- primaryDescription() : string
- Descriptive identifier for humans of the data record
- primaryDescriptionColumn() : string
- Returns the name of the column that describes the model, such as name, description.
- save() : bool
- Stores the model data in the database.
- tableName() : string
- Returns the name of the table that uses this model.
- test() : bool
- Returns true if there are no errors in the values of the model properties.
- toArray() : array<string|int, mixed>
- Returns an array with the model fields values.
- totalSum() : float
- url() : string
- Returns the url where to see / modify the data.
- loadModelFields() : mixed
- Loads table fields if is necessary.
- modelName() : string
- Returns the name of the model.
- saveInsert() : bool
- Insert the model data in the database.
- saveUpdate() : bool
- Update the model data in the database.
- getOrderBy() : string
- Convert an array of filters order by in string.
- getRecord() : array<string|int, mixed>
- Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.
Constants
AUDIT_CHANNEL
public
mixed
AUDIT_CHANNEL
= 'audit'
DATE_STYLE
public
mixed
DATE_STYLE
= 'd-m-Y'
DATETIME_STYLE
public
mixed
DATETIME_STYLE
= 'd-m-Y H:i:s'
HOUR_STYLE
public
mixed
HOUR_STYLE
= 'H:i:s'
Properties
$dataBase
It provides direct access to the database.
protected
static DataBase
$dataBase
Methods
__construct()
ModelClass constructor.
public
__construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
addExtension()
Adds an extension to this model.
public
abstract static addExtension(mixed $extension) : mixed
Parameters
- $extension : mixed
all()
Returns all models that correspond to the selected filters.
public
static all([array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ][, int $offset = 0 ][, int $limit = 50 ]) : array<string|int, static>
Parameters
- $where : array<string|int, mixed> = []
-
filters to apply to model records.
- $order : array<string|int, mixed> = []
-
fields to use in the sorting. For example ['code' => 'ASC']
- $offset : int = 0
- $limit : int = 50
Return values
array<string|int, static>changePrimaryColumnValue()
Change the value of the primary column in the model and the database.
public
changePrimaryColumnValue(mixed $newValue) : bool
Parameters
- $newValue : mixed
Return values
boolclear()
Reset the values of all model properties.
public
clear() : mixed
codeModelAll()
Allows to use this model as source in CodeModel special model.
public
codeModelAll([string $fieldCode = '' ]) : array<string|int, CodeModel>
Parameters
- $fieldCode : string = ''
Return values
array<string|int, CodeModel>codeModelSearch()
Allows to use this model as source in CodeModel special model.
public
codeModelSearch(string $query[, string $fieldCode = '' ][, array<string|int, DataBaseWhere> $where = [] ]) : array<string|int, CodeModel>
Parameters
- $query : string
- $fieldCode : string = ''
- $where : array<string|int, DataBaseWhere> = []
Return values
array<string|int, CodeModel>count()
Returns the number of records in the model that meet the condition.
public
count([array<string|int, DataBaseWhere> $where = [] ]) : int
Parameters
- $where : array<string|int, DataBaseWhere> = []
-
filters to apply to model records.
Return values
intdelete()
Remove the model data from the database.
public
delete() : bool
Return values
boolexists()
Returns true if the model data is stored in the database.
public
exists() : bool
Return values
boolget()
Returns the model whose primary column corresponds to the value $cod
public
get(string $code) : static|false
Parameters
- $code : string
Return values
static|falsegetModelFields()
Returns the list of fields in the table.
public
abstract getModelFields() : array<string|int, mixed>
Return values
array<string|int, mixed>hasExtension()
Returns true if the extension exists.
public
abstract hasExtension(mixed $extension) : bool
Parameters
- $extension : mixed
Return values
boolinstall()
This function is called when creating the model table. Returns the SQL that will be executed after the creation of the table. Useful to insert values default.
public
install() : string
Return values
stringloadFromCode()
Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.
public
loadFromCode(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : bool
Initializes the values of the class if there is no record that meet the above conditions. Returns True if the record exists and False otherwise.
Parameters
- $code : string
- $where : array<string|int, mixed> = []
- $order : array<string|int, mixed> = []
Return values
boolloadFromData()
Assign the values of the $data array to the model properties.
public
loadFromData([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
modelClassName()
Returns the name of the class of the model.
public
abstract modelClassName() : string
Return values
stringnewCode()
Returns the following code for the reported field or the primary key of the model.
public
newCode([string $field = '' ][, array<string|int, mixed> $where = [] ]) : int
Parameters
- $field : string = ''
- $where : array<string|int, mixed> = []
Return values
intpipe()
Executes all $name methods added from the extensions.
public
abstract pipe(string $name, array<string|int, mixed> ...$arguments) : mixed
Parameters
- $name : string
- $arguments : array<string|int, mixed>
pipeFalse()
Executes all $name methods added from the extensions until someone returns false.
public
abstract pipeFalse(string $name, array<string|int, mixed> ...$arguments) : bool
Parameters
- $name : string
- $arguments : array<string|int, mixed>
Return values
boolprimaryColumn()
Returns the name of the column that is the model's primary key.
public
abstract static primaryColumn() : string
Return values
stringprimaryColumnValue()
Returns the current value of the main column of the model.
public
primaryColumnValue() : mixed
primaryDescription()
Descriptive identifier for humans of the data record
public
primaryDescription() : string
Return values
stringprimaryDescriptionColumn()
Returns the name of the column that describes the model, such as name, description.
public
primaryDescriptionColumn() : string
..
Return values
stringsave()
Stores the model data in the database.
public
save() : bool
Return values
booltableName()
Returns the name of the table that uses this model.
public
abstract static tableName() : string
Return values
stringtest()
Returns true if there are no errors in the values of the model properties.
public
test() : bool
It runs inside the save method.
Return values
booltoArray()
Returns an array with the model fields values.
public
toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>totalSum()
public
totalSum(string $field[, array<string|int, mixed> $where = [] ]) : float
Parameters
- $field : string
- $where : array<string|int, mixed> = []
Return values
floaturl()
Returns the url where to see / modify the data.
public
url([string $type = 'auto' ][, string $list = 'List' ]) : string
Parameters
- $type : string = 'auto'
- $list : string = 'List'
Return values
stringloadModelFields()
Loads table fields if is necessary.
protected
abstract loadModelFields(DataBase &$dataBase, string $tableName) : mixed
Parameters
- $dataBase : DataBase
- $tableName : string
modelName()
Returns the name of the model.
protected
abstract modelName() : string
Return values
stringsaveInsert()
Insert the model data in the database.
protected
saveInsert([array<string|int, mixed> $values = [] ]) : bool
Parameters
- $values : array<string|int, mixed> = []
Return values
boolsaveUpdate()
Update the model data in the database.
protected
saveUpdate([array<string|int, mixed> $values = [] ]) : bool
Parameters
- $values : array<string|int, mixed> = []
Return values
boolgetOrderBy()
Convert an array of filters order by in string.
private
static getOrderBy(array<string|int, mixed> $order) : string
Parameters
- $order : array<string|int, mixed>
Return values
stringgetRecord()
Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.
private
getRecord(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : array<string|int, mixed>
Parameters
- $code : string
- $where : array<string|int, mixed> = []
- $order : array<string|int, mixed> = []