- Started working on decoupling QueryBuilder from SqlQueryBuilder
- WIP on SearchRequest attributes - Began working on removing 'Ulmus' class - WIP on removing SQL query building from Repository (which will become SqlRepository)
This commit is contained in:
1 parent
4571517dc8
commit
9fdebf454d
21 files changed
+114
-127
No files matched your search
+15
-17
@@ -8,8 +8,10 @@ use Psr\SimpleCache\CacheInterface;
|
||||
|
||||
abstract class Ulmus
|
||||
{
|
||||
# @todo Remove, unused, now defined by the adapter (logically, right ?)
|
||||
public static string $repositoryClass = "\\Ulmus\\Repository";
|
||||
|
||||
# @todo Remove, unused, now defined by the adapter (logically, right ?)
|
||||
public static string $queryBuilderClass = "\\Ulmus\\QueryBuilder";
|
||||
|
||||
public static array $registeredAdapters = [];
|
||||
@@ -22,19 +24,16 @@ abstract class Ulmus
|
||||
|
||||
public static array $resolved = [];
|
||||
|
||||
public static function iterateQueryBuilder(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : Generator
|
||||
public static function iterateQueryBuilder(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : Generator
|
||||
{
|
||||
$rendered = $queryBuilder->render();
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->connector()->select($rendered, $queryBuilder->parameters ?? []);
|
||||
|
||||
$i = 0;
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->connector()->select($queryBuilder->render(), $queryBuilder->parameters ?? []);
|
||||
|
||||
while ( $row = $statement->fetch() ) {
|
||||
yield $row;
|
||||
}
|
||||
|
||||
$statement->closeCursor();
|
||||
|
||||
|
||||
$queryBuilder->reset();
|
||||
|
||||
return [
|
||||
@@ -42,13 +41,11 @@ abstract class Ulmus
|
||||
];
|
||||
}
|
||||
|
||||
public static function datasetQueryBuilder(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
public static function datasetQueryBuilder(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
{
|
||||
$rows = [];
|
||||
|
||||
$rendered = $queryBuilder->render();
|
||||
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->connector()->select($rendered, $queryBuilder->parameters ?? []);
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->connector()->select($queryBuilder->render(), $queryBuilder->parameters ?? []);
|
||||
|
||||
while ( $row = $statement->fetch() ) {
|
||||
$rows[] = $row;
|
||||
@@ -66,7 +63,7 @@ abstract class Ulmus
|
||||
return ( $adapter ?: static::$defaultAdapter )->connector();
|
||||
}
|
||||
|
||||
public static function runSelectQuery(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
public static function runSelectQuery(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
$dataset = static::connector($adapter)->select($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
$queryBuilder->reset();
|
||||
@@ -74,15 +71,16 @@ abstract class Ulmus
|
||||
return $dataset;
|
||||
}
|
||||
|
||||
public static function runQuery(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
public static function runQuery(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
$return = static::connector($adapter)->runQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
|
||||
$queryBuilder->reset();
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function runInsertQuery(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
public static function runInsertQuery(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
$return = static::connector($adapter)->runInsertQuery($queryBuilder->render(),$queryBuilder->values ?? []);
|
||||
$queryBuilder->reset();
|
||||
@@ -90,7 +88,7 @@ abstract class Ulmus
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function runUpdateQuery(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
public static function runUpdateQuery(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
$return = static::connector($adapter)->runUpdateQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
$queryBuilder->reset();
|
||||
@@ -98,7 +96,7 @@ abstract class Ulmus
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function runDeleteQuery(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
public static function runDeleteQuery(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
$return = static::connector($adapter)->runDeleteQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
$queryBuilder->reset();
|
||||
@@ -119,7 +117,7 @@ abstract class Ulmus
|
||||
return new $cls($entityClass, $alias, $adapter);
|
||||
}
|
||||
|
||||
public static function queryBuilder($entityClass, ...$arguments) : Query\QueryBuilderInterface
|
||||
public static function queryBuilder($entityClass, ...$arguments) : QueryBuilder\QueryBuilderInterface
|
||||
{
|
||||
$cls = $entityClass::resolveEntity()->sqlAdapter()->adapter()->queryBuilderClass();
|
||||
|
||||
@@ -155,7 +153,7 @@ abstract class Ulmus
|
||||
static::$registeredAdapters[$adapter->name] = $adapter;
|
||||
}
|
||||
|
||||
protected static function fetchQueryBuilder(Query\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
protected static function fetchQueryBuilder(QueryBuilder\QueryBuilderInterface $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
{
|
||||
$result = ( $adapter ?: static::$defaultAdapter )->connector->select($queryBuilder->render(), $queryBuilder->parameters ?? [])->fetchAll();
|
||||
$queryBuilder->reset();
|
||||
|
||||
Reference in new issue
Block a user