- Worked on support for multiple adapters based on @Table() annotation's entity
This commit is contained in:
1 parent
d01e99b18f
commit
79fdabe786
7 files changed
+47
-21
No files matched your search
+16
-5
@@ -10,13 +10,15 @@ abstract class Ulmus
|
||||
|
||||
public static string $queryBuilderClass = "\\Ulmus\\QueryBuilder";
|
||||
|
||||
public static array $registeredAdapters = [];
|
||||
|
||||
public static ConnectionAdapter $defaultAdapter;
|
||||
|
||||
|
||||
public static Entity\ObjectInstanciator $objectInstanciator;
|
||||
|
||||
public static array $resolved = [];
|
||||
|
||||
public static function iterateQueryBuilder(QueryBuilder $queryBuilder, ?ConnectionAdapter $adapter = null) : Generator
|
||||
public static function iterateQueryBuilder(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null) : Generator
|
||||
{
|
||||
$sql = $queryBuilder->render();
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->pdo->select($sql, $queryBuilder->parameters ?? []);
|
||||
@@ -32,12 +34,12 @@ abstract class Ulmus
|
||||
];
|
||||
}
|
||||
|
||||
public static function pdo(?ConnectionAdapter $adapter = null) : Common\PdoObject
|
||||
public static function pdo(? ConnectionAdapter $adapter = null) : Common\PdoObject
|
||||
{
|
||||
return ( $adapter ?: static::$defaultAdapter )->pdo;
|
||||
}
|
||||
|
||||
public static function runQuery(QueryBuilder $queryBuilder, ?ConnectionAdapter $adapter = null)
|
||||
public static function runQuery(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
return static::pdo($adapter)->runQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
}
|
||||
@@ -67,7 +69,16 @@ abstract class Ulmus
|
||||
return ( static::$objectInstanciator ?? static::$objectInstanciator = new Entity\ObjectInstanciator() )->convert($obj);
|
||||
}
|
||||
|
||||
protected static function fetchQueryBuilder(QueryBuilder $queryBuilder, ?ConnectionAdapter $adapter = null) : array
|
||||
public static function registerAdapter(ConnectionAdapter $adapter, bool $default = false) : void
|
||||
{
|
||||
if ($default) {
|
||||
static::$defaultAdapter = $adapter;
|
||||
}
|
||||
|
||||
static::$registeredAdapters[$adapter->name] = $adapter;
|
||||
}
|
||||
|
||||
protected static function fetchQueryBuilder(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
{
|
||||
return ( $adapter ?: static::$defaultAdapter )->pdo->select($queryBuilder->render(), $queryBuilder->parameters ?? [])->fetchAll();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user