z_model
in package
Base class for all models. Models should inherit from this.
It holds utility classes for working with the database
Table of Contents
- $booter : z_framework
- $lastInsertId : int
- $z_db : z_db
- __construct() : mixed
- Creates a z_model instance.
- countResults() : int
- Returns the number of results in the last query.
- countTableEntries() : int
- Returns the number of datasets in a table.
- exec() : z_db
- Executes a query as a prepared statement.
- getFullTable() : array<string|int, array<string|int, mixed>>
- Selects a full table or specified fields of it and returns the result as two-dimensional array.
- getInsertId() : int
- Returns the last insert id. Ignores inserts done by log.
- getLogCategoryIdByName() : int
- Gets the ID of a log category. If a category does not exist, this function will create it.
- getModel() : z_model
- Returns a model
- getResult() : null|bool|mysqli_result
- Returns the result of the last query.
- getTableWhere() : array<string|int, array<string|int, mixed>>
- Selects a full table or specified fields, filtered with an additional where statement. It returns the result as a two-dimensional array.
- heartbeat() : void
- Runs a very lightweight query to keep the connection alive.
- logAction() : mixed
- Logs an action.
- logActionByCategory() : mixed
- Logs an action.
- resultToArray() : array<string|int, array<string|int, mixed>>
- Converts the result of the last query into an array and returns it.
- resultToLine() : array<string|int, mixed>|null
- Returns one line of the last query.
Properties
$booter
protected
z_framework
$booter
Reference to the booter
$lastInsertId
protected
int
$lastInsertId
Holds the last ID returned from an insert query. Does not change during logging.
$z_db
protected
z_db
$z_db
Reference to the database proxy
Methods
__construct()
Creates a z_model instance.
public
__construct(z_db &$z_db, z_framework $booter) : mixed
This constructor should only be called from the booter. If you need a model, use $booter->getModel() instead.
Parameters
- $z_db : z_db
-
The database proxy class (Usually one lives in the booter)
- $booter : z_framework
-
Booter object
Return values
mixed —countResults()
Returns the number of results in the last query.
public
countResults() : int
Return values
int —Number of results in the last query
countTableEntries()
Returns the number of datasets in a table.
public
countTableEntries(string $table) : int
Parameters
- $table : string
-
Name of the table in the database
Return values
int —Number of datasets in the specified table
exec()
Executes a query as a prepared statement.
public
exec(string $query[, string $types = "" ][, mixed $params = null ]) : z_db
Parameters
- $query : string
-
The query written as a prepared statement (with question marks).
- $types : string = ""
-
The types for the individual parameters (i for int, s for string...).
- $params : mixed = null
Return values
z_db —Returning this for chaining
getFullTable()
Selects a full table or specified fields of it and returns the result as two-dimensional array.
public
getFullTable(string $table[, string $fields = "*" ]) : array<string|int, array<string|int, mixed>>
Parameters
- $table : string
-
Name of the table in the database
- $fields : string = "*"
-
Fields to select. Formatted as in an SQL query ("*", "a, b, c"...)
Return values
array<string|int, array<string|int, mixed>> —A two-dimensional array with the results of the select statement
getInsertId()
Returns the last insert id. Ignores inserts done by log.
public
getInsertId() : int
Return values
int —The ID of the dataset created in the last insert
getLogCategoryIdByName()
Gets the ID of a log category. If a category does not exist, this function will create it.
public
getLogCategoryIdByName(string $name) : int
Parameters
- $name : string
-
Name of the category
Return values
int —ID of the log category
getModel()
Returns a model
public
getModel() : z_model
Return values
z_model —The model
getResult()
Returns the result of the last query.
public
getResult() : null|bool|mysqli_result
Return values
null|bool|mysqli_result —Result of the last query
getTableWhere()
Selects a full table or specified fields, filtered with an additional where statement. It returns the result as a two-dimensional array.
public
getTableWhere(string $table, string $fields, string $where) : array<string|int, array<string|int, mixed>>
Parameters
- $table : string
-
Name of the table in the database
- $fields : string
-
Fields to select. Formatted as in an SQL query ("*", "a, b, c"...)
- $where : string
-
The where statement in the query. Formatted as in an SQL query ("a = 4 AND c = 4"...);
Return values
array<string|int, array<string|int, mixed>> —Two-dimensional array with table data
heartbeat()
Runs a very lightweight query to keep the connection alive.
public
heartbeat([bool $waitForTimeout = true ]) : void
Parameters
- $waitForTimeout : bool = true
-
If set to true, only ping if no other query has been made within the timeout period
Return values
void —logAction()
Logs an action.
public
logAction(int $categoryId, string $text[, int $value = null ]) : mixed
Does not increase the insertId.
Parameters
- $categoryId : int
-
ID of the category in the database
- $text : string
-
Text
- $value : int = null
-
Optional value
Return values
mixed —logActionByCategory()
Logs an action.
public
logActionByCategory(string $categoryName, string $text[, int $value = null ]) : mixed
Does not increase the insertId. If the category does not exist, it will be created.
Parameters
- $categoryName : string
-
Name of the category in the database.
- $text : string
-
Text
- $value : int = null
-
Optional value
Return values
mixed —resultToArray()
Converts the result of the last query into an array and returns it.
public
resultToArray() : array<string|int, array<string|int, mixed>>
Return values
array<string|int, array<string|int, mixed>> —Results of the last query as two-dimensional array
resultToLine()
Returns one line of the last query.
public
resultToLine() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —Line of the last result