CantonMapper
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 = ['taxwert' => ['id', 'taxwert', 'kanton', 'prioritaet', 'del', 'tarifsystem', 'zsr_nr', 'gln_nr', 'kuerzel_kanton', 'kvg_uvg', 'elektronischer_export', 'color', 'user', 'date']]
- An array of all the database columns to build the query from.
- JOINS = ['owner' => ['LEFT JOIN', \VeruA\DataMapper\OwnerMapper::TABLE, 'user=`owner`.id', \VeruA\DataMapper\OwnerMapper::COLUMNS[\VeruA\DataMapper\OwnerMapper::TABLE]]]
- An array of database joins to build the query from.
- ORDERCOLUMNS = []
- An array of default order columns.
- TABLE = 'taxwert'
- The name of the database table to build the query from.
- WHERE = ['`taxwert`.del=0']
- 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
- find() : Canton
- findAll() : Iterator
- Returns all DomainObjects of that type
- findAllAlphabetically() : mixed
- findAllNotAcrossSwitzerlandSorted() : mixed
- findAllOrderedById() : mixed
- findAllSorted() : mixed
- findForClientByDate() : Canton
- findMany() : DomainObjectCollection
- findOne() : DomainObject
- findSelected() : mixed
- insert() : mixed
- load() : DomainObject
- loadGhost() : void
- 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() : Canton
- customQuery() : IQuery
- doLoad() : Canton
- 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
= ['taxwert' => ['id', 'taxwert', 'kanton', 'prioritaet', 'del', 'tarifsystem', 'zsr_nr', 'gln_nr', 'kuerzel_kanton', 'kvg_uvg', 'elektronischer_export', 'color', 'user', 'date']]
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
= ['owner' => ['LEFT JOIN', \VeruA\DataMapper\OwnerMapper::TABLE, 'user=`owner`.id', \VeruA\DataMapper\OwnerMapper::COLUMNS[\VeruA\DataMapper\OwnerMapper::TABLE]]]
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
= 'taxwert'
needs to be overwritten in the concrete implementations
WHERE
An array of default where clauses concatenated by AND.
public
array<string|int, mixed>
WHERE
= ['`taxwert`.del=0']
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
= []
Map DomainObjects field names to database column names
Tags
$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 —find()
public
find(int $id) : Canton
Parameters
- $id : int
Return values
Canton —findAll()
Returns all DomainObjects of that type
public
findAll() : Iterator
Return values
Iterator —findAllAlphabetically()
public
findAllAlphabetically() : mixed
Return values
mixed —findAllNotAcrossSwitzerlandSorted()
public
findAllNotAcrossSwitzerlandSorted() : mixed
Return values
mixed —findAllOrderedById()
public
findAllOrderedById() : mixed
Return values
mixed —findAllSorted()
public
findAllSorted() : mixed
Return values
mixed —findForClientByDate()
public
findForClientByDate(int $clientId, DateTimeInterface $date) : Canton
Parameters
- $clientId : int
- $date : DateTimeInterface
Return values
Canton —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 —findSelected()
public
findSelected() : mixed
Return values
mixed —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 —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) : Canton
Parameters
- $id : Key
Return values
Canton —customQuery()
protected
customQuery() : IQuery
Return values
IQuery —doLoad()
protected
doLoad(Key $id, IResultSet $rs) : Canton
Parameters
- $id : Key
- $rs : IResultSet
Return values
Canton —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