Skip to content

PdoDataMapper


Properties

entity

protected class-string<\Qubus\Expressive\DataMapper\SerializableEntity> $entity

table

protected string $table

columns

protected array<string,string> $columns

properties

private array<string,\ReflectionProperty> $properties

connection

public \Qubus\Expressive\Connection $connection

Methods

__construct

public __construct(\Qubus\Expressive\Connection $connection, string $entity): mixed

Parameters:

Parameter Type Description
$connection \Qubus\Expressive\Connection
$entity string

Throws:


getPdo

public getPdo(): \PDO

queryBuilder

public queryBuilder(): \Qubus\Expressive\QueryBuilder

hydrate

public hydrate(list<array<string,mixed>> $data): array<int|string,\Qubus\Expressive\DataMapper\SerializableEntity>

Parameters:

Parameter Type Description
$data list>

Throws:


findAll

public findAll(string $orderBy = '', array{direction?: string, limit?: int, offset?: int} $options = []): array<int|string,\Qubus\Expressive\DataMapper\SerializableEntity>

Parameters:

Parameter Type Description
$orderBy string
$options array{direction?: string, limit?: int, offset?: int}

Throws:


findAllBy

public findAllBy(string $column, string $value, string $orderBy = '', array{direction?: string, limit?: int, offset?: int} $options = []): array<int|string,\Qubus\Expressive\DataMapper\SerializableEntity>

Parameters:

Parameter Type Description
$column string
$value string
$orderBy string
$options array{direction?: string, limit?: int, offset?: int}

Throws:


findOne

public findOne(int|string $id): \Qubus\Expressive\DataMapper\SerializableEntity|null

Parameters:

Parameter Type Description
$id int|string

Throws:


create

public create(\Qubus\Expressive\DataMapper\SerializableEntity $entity): \Qubus\Expressive\DataMapper\SerializableEntity

Parameters:

Parameter Type Description
$entity \Qubus\Expressive\DataMapper\SerializableEntity

Throws:


update

public update(\Qubus\Expressive\DataMapper\SerializableEntity $entity): \Qubus\Expressive\DataMapper\SerializableEntity

Parameters:

Parameter Type Description
$entity \Qubus\Expressive\DataMapper\SerializableEntity

Throws:


delete

public delete(int|string $id): void

Parameters:

Parameter Type Description
$id int|string

Throws:


buildSelectString

private buildSelectString(): string

Throws:


buildOrderByString

private buildOrderByString(string $orderBy, string $direction = 'ASC'): string

Parameters:

Parameter Type Description
$orderBy string
$direction string

Throws:


buildLimitOffsetString

private buildLimitOffsetString(int $limit = 0, int $offset = 0): string

Parameters:

Parameter Type Description
$limit int
$offset int

Throws:


buildInsertString

private buildInsertString(list<string> $properties): string

Parameters:

Parameter Type Description
$properties list

Throws:


buildUpdateString

private buildUpdateString(): string

Throws:


buildDeleteString

private buildDeleteString(): string

Throws:


mapRowToObject

private mapRowToObject(array<string,mixed> $row): \Qubus\Expressive\DataMapper\SerializableEntity

Parameters:

Parameter Type Description
$row array

Throws:


quotedColumn

private quotedColumn(string $property): string

Parameters:

Parameter Type Description
$property string

Throws:


insertProperties

private insertProperties(\Qubus\Expressive\DataMapper\SerializableEntity $entity): list<string>

Parameters:

Parameter Type Description
$entity \Qubus\Expressive\DataMapper\SerializableEntity

propertyValue

private propertyValue(\Qubus\Expressive\DataMapper\SerializableEntity $entity, string $property): mixed

Parameters:

Parameter Type Description
$entity \Qubus\Expressive\DataMapper\SerializableEntity
$property string

Throws: