- Worked on support for multiple adapters based on @Table() annotation's entity

This commit is contained in:
mcndave committed 2020-02-12 22:56:53 -05:00
1 parent d01e99b18f
commit 79fdabe786
7 files changed
+47 -21

No files matched your search

+6 -8
View File
@@ -21,9 +21,9 @@ class Repository
public function __construct(string $entity, string $alias = self::DEFAULT_ALIAS, ConnectionAdapter $adapter = null) {
$this->entityClass = $entity;
$this->alias = $alias;
$this->adapter = $adapter ?: Ulmus::$defaultAdapter;
$this->queryBuilder = new QueryBuilder( $this->adapter->adapter() );
$this->entityResolver = Ulmus::resolveEntity($entity);
$this->adapter = $adapter ?? $this->entityResolver->databaseAdapter() ?? Ulmus::$defaultAdapter;
$this->queryBuilder = new QueryBuilder( $this->adapter->adapter() );
}
public function loadOne() : ? object
@@ -52,7 +52,7 @@ class Repository
$this->finalizeQuery();
foreach(Ulmus::iterateQueryBuilder($this->queryBuilder) as $entityData) {
foreach(Ulmus::iterateQueryBuilder($this->queryBuilder, $this->adapter) as $entityData) {
return $entityData['totalItem'];
}
@@ -106,8 +106,6 @@ class Repository
$diff = array_diff_assoc($dataset, $entity->entityGetDataset(true));
var_dump( "<pre>", $diff, $dataset, $entity->entityGetDataset(true) );
if ( [] !== $diff ) {
$update = $this->updateSqlQuery($diff)->runQuery();
@@ -174,7 +172,7 @@ class Repository
public function from(string $table, ? string $alias, ? string $schema) : self
{
$this->queryBuilder->from($table, $alias, null, $schema);
$this->queryBuilder->from($table, $alias, $this->adapter->adapter()->database, $schema);
return $this;
}
@@ -365,7 +363,7 @@ class Repository
$this->finalizeQuery();
foreach(Ulmus::iterateQueryBuilder($this->queryBuilder) as $entityData) {
foreach(Ulmus::iterateQueryBuilder($this->queryBuilder, $this->adapter) as $entityData) {
$entityCollection->append( ( new $class() )->entityFillFromDataset($entityData) );
}
@@ -376,7 +374,7 @@ class Repository
{
$this->finalizeQuery();
return Ulmus::runQuery($this->queryBuilder);
return Ulmus::runQuery($this->queryBuilder, $this->adapter);
}
protected function insertSqlQuery(array $dataset) : self