- Work done on insert() and update() function from QueryBuilder.
- Fixed save() and saveAll() from repository - QueryBuilder can now be flushed after queries.
This commit is contained in:
1 parent
79fdabe786
commit
d1961ec807
9 files changed
+122
-44
No files matched your search
+13
-5
@@ -21,14 +21,16 @@ abstract class Ulmus
|
||||
public static function iterateQueryBuilder(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null) : Generator
|
||||
{
|
||||
$sql = $queryBuilder->render();
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->pdo->select($sql, $queryBuilder->parameters ?? []);
|
||||
|
||||
$statement = ( $adapter ?: static::$defaultAdapter )->pdo()->select($sql, $queryBuilder->parameters ?? []);
|
||||
|
||||
while ( $row = $statement->fetch() ) {
|
||||
yield $row;
|
||||
}
|
||||
|
||||
$statement->closeCursor();
|
||||
|
||||
$queryBuilder->reset();
|
||||
|
||||
return [
|
||||
'count' => $statement->rowCount(),
|
||||
];
|
||||
@@ -36,12 +38,15 @@ abstract class Ulmus
|
||||
|
||||
public static function pdo(? ConnectionAdapter $adapter = null) : Common\PdoObject
|
||||
{
|
||||
return ( $adapter ?: static::$defaultAdapter )->pdo;
|
||||
return ( $adapter ?: static::$defaultAdapter )->pdo();
|
||||
}
|
||||
|
||||
public static function runQuery(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null)
|
||||
{
|
||||
return static::pdo($adapter)->runQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
$result = static::pdo($adapter)->runQuery($queryBuilder->render(), array_merge($queryBuilder->values ?? [], $queryBuilder->parameters ?? []));
|
||||
$queryBuilder->reset();
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function resolveEntity(string $entityClass) : Common\EntityResolver
|
||||
@@ -80,6 +85,9 @@ abstract class Ulmus
|
||||
|
||||
protected static function fetchQueryBuilder(QueryBuilder $queryBuilder, ? ConnectionAdapter $adapter = null) : array
|
||||
{
|
||||
return ( $adapter ?: static::$defaultAdapter )->pdo->select($queryBuilder->render(), $queryBuilder->parameters ?? [])->fetchAll();
|
||||
$result = ( $adapter ?: static::$defaultAdapter )->pdo->select($queryBuilder->render(), $queryBuilder->parameters ?? [])->fetchAll();
|
||||
$queryBuilder->reset();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user