AddressMapper
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 \VeruA\DomainObjects and insert/update methods
to store the data to the Database
Table of Contents
- COLUMNS = ['adressen' => ['id', 'str', 'plz', 'ort', 'tel', 'natel', 'tel_geschaeft', 'fax', 'email', 'webseite', 'pfach']]
- JOINS = []
- TABLE = 'adressen'
- WHERE = []
- $dbc : mysqli
- $fieldMap : array<string|int, mixed>
- $map : array<string|int, mixed>
- __construct() : mixed
- find() : Address
- findMany() : DomainObjectCollection
- insert() : mixed
- load() : DomainObject
- loadGhost() : void
- map() : array<string|int, mixed>
- mapValues() : mixed
- Map DomainObjectValues to database column values
- sqlWhere() : mixed
- store() : mixed
- storeMany() : mixed
- update() : mixed
- updateAll() : mixed
- abstractCreateGhost() : DomainObject
- abstractFind() : DomainObject
- Executes an sql select statement
- createGhost() : Address
- doLoad() : Address
- insertQuery() : IQuery
- Returns a new INSERT Query Instance
- query() : IQuery
- Returns a new SELECT Query Instance
- sqlColumns() : string
- sqlInsertQuery() : string
- sqlJoins() : string
- sqlSelectQuery() : string
- sqlUpdateQuery() : string
- updateQuery() : IQuery
- Returns a new UPDATE Query Instance
Constants
COLUMNS
public
mixed
COLUMNS
= ['adressen' => ['id', 'str', 'plz', 'ort', 'tel', 'natel', 'tel_geschaeft', 'fax', 'email', 'webseite', 'pfach']]
JOINS
public
mixed
JOINS
= []
TABLE
public
mixed
TABLE
= 'adressen'
WHERE
public
mixed
WHERE
= []
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 —find()
public
find(mixed $id) : Address
Parameters
- $id : mixed
Return values
Address —findMany()
public
findMany(IQuery $query) : DomainObjectCollection
Parameters
- $query : IQuery
Return values
DomainObjectCollection —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(Key $id, IResultSet $rs) : array<string|int, mixed>
Parameters
- $id : Key
- $rs : IResultSet
Return values
array<string|int, mixed> —mapValues()
Map DomainObjectValues to database column values
public
mapValues(array<string|int, mixed> $values) : mixed
Parameters
- $values : array<string|int, mixed>
Return values
mixed —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) : Address
Parameters
- $id : Key
Return values
Address —doLoad()
protected
doLoad(Key $id, IResultSet $rs) : Address
Parameters
- $id : Key
- $rs : IResultSet
Return values
Address —insertQuery()
Returns a new INSERT Query Instance
protected
insertQuery() : IQuery
Return values
IQuery —query()
Returns a new SELECT Query Instance
protected
query() : IQuery
Return values
IQuery —sqlColumns()
protected
sqlColumns(array<string|int, mixed> $tableColumns) : string
Parameters
- $tableColumns : array<string|int, mixed>
-
[$table => [ $column, ... ], ...]
Return values
string —sqlInsertQuery()
protected
sqlInsertQuery(array<string|int, mixed> $columns, string $table, array<string|int, mixed> $values) : string
Parameters
- $columns : array<string|int, mixed>
-
[$table => [ $column, ... ], ...]
- $table : string
- $values : array<string|int, mixed>
-
array a row of values in the same order and count of $columns
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) : 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
Return values
string —sqlUpdateQuery()
protected
sqlUpdateQuery(array<string|int, mixed> $values, string $table, string $where) : string
Parameters
- $values : array<string|int, mixed>
-
[$field => $value, ...]
- $table : string
- $where : string
-
condition
Return values
string —updateQuery()
Returns a new UPDATE Query Instance
protected
updateQuery() : IQuery