$accessPoints
$accessPoints : array
Класс фабрика для создания точек доступа
Пример:
try {
$accessPoint = App::DataAccessPoints()->Get('main');
# Получение данных по запросу
class Queries {
const TestSelectQuery = 'select * from test where id=[[id:integer]] and text=[[text:string]] and dbl=[[dbl::double]]';
}
$reader = $accessPoint->Query(Queries::TestSelectQuery, ['page' => 1, 'pagesize' => 10, 'params' => ['id' => 1, 'text' => 'adfadf', 'dbl' => 1.1]]);
while($result = $reader->Read()) {
print_r($result); // обьект
}
# или без параметров
$reader = $accessPoint->Query('select * from test where id=\'2\' and text=\'adfasdfasdf\' and dbl=\'1.1\'', ['page' => 1, 'pagesize' => 10]);
while($result = $reader->Read()) {
print_r($result); // обьект
}
$accessPoint->Query('BEGIN');
# если необходимо выполнить запрос insert, update или delete
$nonQueryInfo = $accessPoint->Query('delete from test where id=1', ['type' => DataAccessPoint::QueryTypeNonInfo]);
# если необходимо выполнить запрос с большим количеством данных, например для запросов с автоподкачкой
$reader = $accessPoint->Query('select * from test', ['page' => 1, 'pagesize' => 100, 'type' => DataAccessPoint::QueryTypeBigData]);
# ввод данных
$nonQueryInfo = $accessPoint->Insert('test', ['text' => 'адфасдфасдфасдф', 'dbl' => 1.1], 'id'); # только для postgresql
# возвращается класс NonQueryInfo, для postgres необходимо передать дополнительный параметр returning - название поля, которое нужно вернуть
# обновление данных
$returnsBool = $accessPoint->Update('test', ['text' => 'adfasdfasdf', 'dbl' => 1.2], 'id=1');
# возвращает true если обновление прошло успешно
# ввод с обновлением данных, если есть дубликат по identity полю или sequence для postgresql
$nonQueryInfo = $accessPoint->InsertOrUpdate('test', ['id' => 1, 'text' => 'adfadsfads', 'dbl' => 1.1], ['id', 'text'], 'id');
# поле returning нужно только для postgresql
# возвращается класс NonQueryInfo, для postgres необходимо передать дополнительный параметр returning - название поля, которое нужно вернуть
# ввод данны пачкой
$nonQueryInfo = $accessPoint->InsertBatch('test', [ ['text' => 'adsfasdf', 'dbl' => 1.0], ['text' => 'adsfasdf', 'dbl' => 1.1] ]);
$accessPoint->Query('COMMIT');
# удаление данных
$returnsBool = $accessPoint->Delete('test', 'id=1');
# возвращает true если удаление прошло успешно, нужно учесть, что если не передать параметр condition то будет выполнено truncate table test
# получение списка таблиц
$tablesReader = $accessPoint->Tables();
# возвращает IDataReader
} catch(DataAccessPointsException $e) { print_r($e); }
$instance : \Colibri\Data\DataAccessPoints
Синглтон
Instance() : \Colibri\Data\DataAccessPoints
Статический конструктор
Get(string $name) : \Colibri\Data\DataAccessPoint
Создает точку доступа
| string | $name |