SpitexMapper
extends AbstractMapper
in package
The AbstractMapper is used to retrieve and store DomainObjects from and to the Database
A DataMapper implementation has to provide the methods for interaction
But There should be find[ByXYZ] methods to retreive the respective DomainObject
and insert/update methods to store the data to the Database
Table of Contents
- COLUMNS = [self::TABLE => ['id', 'name', 'zusatz', 'gln', 'str', 'plz', 'billcare', 'mod_ekarus', 'mod_xml', 'mod_pop', 'mod_qr']]
- An array of all the database columns to build the query from.
- JOINS = []
- An array of database joins to build the query from.
- ORDERCOLUMNS = []
- An array of default order columns.
- TABLE = 'spitex'
- The name of the database table to build the query from.
- WHERE = []
- An array of default where clauses concatenated by AND.
- $dbc : mysqli
- $fieldMap : array<string|int, mixed>
- $map : array<string|int, mixed>
- __construct() : mixed
- delete() : mixed
- doLoad() : Spitex
- find() : Spitex|null
- Finds rows in Spitex table and returns the first one or null if no rows in table
- findAll() : Iterator
- Returns all DomainObjects of that type
- findMany() : DomainObjectCollection
- findOne() : DomainObject
- insert() : mixed
- load() : DomainObject
- loadGhost() : void
- map() : array<string|int, mixed>
- mapValues() : mixed
- Map DomainObjectValues to database column values
- sqlOrderBy() : string
- sqlWhere() : mixed
- store() : mixed
- storeMany() : mixed
- update() : mixed
- updateAll() : mixed
- abstractCreateGhost() : DomainObject
- abstractFind() : DomainObject
- Executes an sql select statement
- createGhost() : Spitex
- customQuery() : IQuery
- insertQuery() : IQuery
- Returns a new INSERT Query Instance
- query() : IQuery
- Returns a new SELECT Query Instance.
- sqlColumns() : string
- sqlDeleteQuery() : string
- sqlInsertQuery() : string
- sqlJoins() : string
- sqlSelectQuery() : string
- sqlUpdateQuery() : string
- updateQuery() : IQuery
- Returns a new UPDATE Query Instance
Constants
COLUMNS
An array of all the database columns to build the query from.
public
array<string|int, mixed>
COLUMNS
= [self::TABLE => ['id', 'name', 'zusatz', 'gln', 'str', 'plz', 'billcare', 'mod_ekarus', 'mod_xml', 'mod_pop', 'mod_qr']]
needs to be overwritten in the concrete implementations
self::TABLE => [col1, col2, ...]
JOINS
An array of database joins to build the query from.
public
array<string|int, mixed>
JOINS
= []
can be overwritten in the concrete implementations
<joinIndex> => [<joinType>,
ORDERCOLUMNS
An array of default order columns.
public
array<string|int, mixed>
ORDERCOLUMNS
= []
can be overwritten in the concrete implementations
TABLE
The name of the database table to build the query from.
public
string
TABLE
= 'spitex'
needs to be overwritten in the concrete implementations
WHERE
An array of default where clauses concatenated by AND.
public
array<string|int, mixed>
WHERE
= []
can be overwritten in the concrete implementations
[condition1, condition2, ...]
Properties
$dbc
protected
mysqli
$dbc
A database Connection Object
$fieldMap
protected
array<string|int, mixed>
$fieldMap
= ['id' => 'id', 'name' => 'name', 'gln' => 'gln', 'billcare' => 'billcare', 'ekarusModule' => 'mod_ekarus', 'xmlModule' => 'mod_xml', 'popModule' => 'mod_pop', 'qrModule' => 'mod_qr']
Map DomainObjects field names to database column names
$map
protected
static array<string|int, mixed>
$map
Identity Map of DomainObjects
Methods
__construct()
public
__construct(mysqli $dbc) : mixed
Parameters
- $dbc : mysqli
-
The database Connection Object
Return values
mixed —delete()
public
delete(DomainObject $dmo) : mixed
Parameters
- $dmo : DomainObject
Return values
mixed —doLoad()
public
doLoad(Key $id, IResultSet $rs) : Spitex
Parameters
- $id : Key
- $rs : IResultSet
Return values
Spitex —find()
Finds rows in Spitex table and returns the first one or null if no rows in table
public
find() : Spitex|null
Return values
Spitex|null —findAll()
Returns all DomainObjects of that type
public
findAll() : Iterator
Return values
Iterator —findMany()
public
findMany(IQuery $query) : DomainObjectCollection
Parameters
- $query : IQuery
Return values
DomainObjectCollection —findOne()
public
findOne(IQuery $query) : DomainObject
Parameters
- $query : IQuery
Tags
Return values
DomainObject —insert()
public
insert(DomainObject $dmo) : mixed
Parameters
- $dmo : DomainObject
Return values
mixed —load()
public
load(IResultSet $rs) : DomainObject
Parameters
- $rs : IResultSet
Return values
DomainObject —loadGhost()
public
loadGhost(DomainObject $ghost) : void
Parameters
- $ghost : DomainObject
Return values
void —map()
public
map(IResultSet $rs) : array<string|int, mixed>
Parameters
- $rs : IResultSet
Return values
array<string|int, mixed> —mapValues()
Map DomainObjectValues to database column values
public
mapValues(array<string|int, mixed> $values[, bool $escape = true ]) : mixed
Parameters
- $values : array<string|int, mixed>
-
array of [fieldName => value] pairs
- $escape : bool = true
-
If set to false the mapped value will not be mysql_real_escaped
Return values
mixed —sqlOrderBy()
public
sqlOrderBy(array<string|int, mixed> $orderColumns) : string
Parameters
- $orderColumns : array<string|int, mixed>
Return values
string —sqlWhere()
public
sqlWhere(array<string|int, mixed> $where) : mixed
Parameters
- $where : array<string|int, mixed>
Return values
mixed —store()
public
store(DomainObject $dmo) : mixed
Parameters
- $dmo : DomainObject
Return values
mixed —storeMany()
public
storeMany(mixed $dmos) : mixed
Parameters
- $dmos : mixed
Return values
mixed —update()
public
update(DomainObject $dmo) : mixed
Parameters
- $dmo : DomainObject
Return values
mixed —updateAll()
public
updateAll(DomainObject $dmo) : mixed
Parameters
- $dmo : DomainObject
Return values
mixed —abstractCreateGhost()
protected
abstractCreateGhost(DomainObject $dmo) : DomainObject
Parameters
- $dmo : DomainObject
Return values
DomainObject —abstractFind()
Executes an sql select statement
protected
abstractFind(string|Varchar|int $id, IQuery $query) : DomainObject
checks if object is already in the identity map and returns it, if not it executes the sql.
Parameters
- $id : string|Varchar|int
-
The Primary Key
- $query : IQuery
Tags
Return values
DomainObject —createGhost()
protected
createGhost(Key $id) : Spitex
Parameters
- $id : Key
Return values
Spitex —customQuery()
protected
customQuery() : IQuery
Return values
IQuery —insertQuery()
Returns a new INSERT Query Instance
protected
insertQuery() : IQuery
Return values
IQuery —query()
Returns a new SELECT Query Instance.
protected
query() : IQuery
Can be overwritten to return different implementations of IQuery
Return values
IQuery —sqlColumns()
protected
sqlColumns(array<string|int, mixed> $tableColumns) : string
Parameters
- $tableColumns : array<string|int, mixed>
-
[$table => [ $column, ... ], ...]
Return values
string —sqlDeleteQuery()
protected
sqlDeleteQuery(string $table, string $where) : string
Parameters
- $table : string
- $where : string
-
condition
Return values
string —sqlInsertQuery()
protected
sqlInsertQuery(array<string|int, mixed> $values, string $table) : string
Parameters
- $values : array<string|int, mixed>
-
[$field => $value, ...]
- $table : string
Return values
string —sqlJoins()
protected
sqlJoins(array<string|int, mixed> $joins) : string
Parameters
- $joins : array<string|int, mixed>
Return values
string —sqlSelectQuery()
protected
sqlSelectQuery(array<string|int, mixed> $columns, string $table, array<string|int, mixed> $joins, array<string|int, mixed> $where, array<string|int, mixed> $orderColumns) : string
Parameters
- $columns : array<string|int, mixed>
-
[$table => [ $column, ... ], ...]
- $table : string
- $joins : array<string|int, mixed>
-
array of sql joins
- $where : array<string|int, mixed>
-
array of where clauses joined with AND
- $orderColumns : array<string|int, mixed>
-
array of order clauses joined with ,
Return values
string —sqlUpdateQuery()
protected
sqlUpdateQuery(array<string|int, mixed> $values, string $table, string $where) : string
Parameters
- $values : array<string|int, mixed>
- $table : string
- $where : string
-
condition
Return values
string —updateQuery()
Returns a new UPDATE Query Instance
protected
updateQuery() : IQuery