PersonMapper
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 = [self::TABLE => ['id', 'id_adr', 'vname', 'nname', 'anrede', 'titel', 'zusatz', 'bemerkung']]
- FK_ADDR = 'id_adr'
- JOINS = ['address' => ['LEFT JOIN', \VeruA\DataMapper\AddressMapper::TABLE, 'id_adr=`address`.id', \VeruA\DataMapper\AddressMapper::COLUMNS[\VeruA\DataMapper\AddressMapper::TABLE]]]
- ORDERCOLUMNS = []
- TABLE = 'personen'
- WHERE = ['personen.del=0']
- $dbc : mysqli
- $fieldMap : array<string|int, mixed>
- $map : array<string|int, mixed>
- __construct() : mixed
- delete() : mixed
- 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() : Person
- customQuery() : IQuery
- doLoad() : Person
- 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
public
mixed
COLUMNS
= [self::TABLE => ['id', 'id_adr', 'vname', 'nname', 'anrede', 'titel', 'zusatz', 'bemerkung']]
FK_ADDR
public
mixed
FK_ADDR
= 'id_adr'
JOINS
public
mixed
JOINS
= ['address' => ['LEFT JOIN', \VeruA\DataMapper\AddressMapper::TABLE, 'id_adr=`address`.id', \VeruA\DataMapper\AddressMapper::COLUMNS[\VeruA\DataMapper\AddressMapper::TABLE]]]
ORDERCOLUMNS
public
mixed
ORDERCOLUMNS
= []
TABLE
public
mixed
TABLE
= 'personen'
WHERE
public
mixed
WHERE
= ['personen.del=0']
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 —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) : Person
Parameters
- $id : Key
Return values
Person —customQuery()
protected
customQuery() : IQuery
Return values
IQuery —doLoad()
protected
doLoad(Key $id, IResultSet $rs) : Person
Parameters
- $id : Key
- $rs : IResultSet
Return values
Person —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 —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