- 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
+6
-8
@@ -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
|
||||
|
||||
Reference in new issue
Block a user