- Some work done on correcting LDAP package compatibility
This commit is contained in:
1 parent
71de0a8ac1
commit
e3d0e45a4e
13 files changed
+110
-22
No files matched your search
+17
-5
@@ -31,7 +31,7 @@ class Repository
|
||||
$this->queryBuilder = new QueryBuilder();
|
||||
}
|
||||
|
||||
public function __clone()
|
||||
public function __clone()
|
||||
{
|
||||
#$this->queryBuilder = clone $this->queryBuilder;
|
||||
}
|
||||
@@ -285,6 +285,8 @@ class Repository
|
||||
$this->select("$alias.$key as {$prependField}{$field['name']}");
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function selectJsonEntity(string $entity, string $alias, bool $skipFrom = false) : self
|
||||
@@ -307,9 +309,9 @@ class Repository
|
||||
);
|
||||
}
|
||||
|
||||
public function select(/*array|Stringable*/ $fields) : self
|
||||
public function select(/*array|Stringable*/ $fields, bool $distinct = false) : self
|
||||
{
|
||||
$this->queryBuilder->select($fields);
|
||||
$this->queryBuilder->select($fields, $distinct);
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -616,7 +618,7 @@ class Repository
|
||||
public function filterServerRequest(SearchRequest\SearchRequestInterface $searchRequest, bool $count = true) : self
|
||||
{
|
||||
if ($count) {
|
||||
$searchRequest->count = $searchRequest->filter(new Repository\ServerRequestCountRepository($this->entityClass, $this->alias, $this->adapter))
|
||||
$searchRequest->count = $searchRequest->filter($this->serverRequestCountRepository())
|
||||
->wheres($searchRequest->wheres(), Query\Where::OPERATOR_EQUAL, Query\Where::CONDITION_AND)
|
||||
->likes($searchRequest->likes(), Query\Where::CONDITION_OR)
|
||||
->groups($searchRequest->groups())
|
||||
@@ -632,6 +634,11 @@ class Repository
|
||||
->limit($searchRequest->limit());
|
||||
}
|
||||
|
||||
protected function serverRequestCountRepository() : Repository
|
||||
{
|
||||
return new Repository\ServerRequestCountRepository($this->entityClass, $this->alias, $this->adapter);
|
||||
}
|
||||
|
||||
public function collectionFromQuery(? string $entityClass = null) : EntityCollection
|
||||
{
|
||||
$class = $entityClass ?: $this->entityClass;
|
||||
@@ -646,7 +653,7 @@ class Repository
|
||||
$entityCollection->append( ( new $class() )->resetVirtualProperties()->entityFillFromDataset($entityData) );
|
||||
}
|
||||
|
||||
$this->eventExecute(Event\RepositoryCollectionFromQueryInterface::class, $entityCollection);
|
||||
$this->eventExecute(Event\Repository\CollectionFromQueryInterface::class, $entityCollection);
|
||||
|
||||
return $entityCollection;
|
||||
}
|
||||
@@ -793,6 +800,11 @@ class Repository
|
||||
return $this->adapter->adapter()->escapeIdentifier($identifier, Adapter\AdapterInterface::IDENTIFIER_SCHEMA);
|
||||
}
|
||||
|
||||
public function hasFilters() : bool
|
||||
{
|
||||
return isset($this->queryBuilder->where);
|
||||
}
|
||||
|
||||
protected function matchEntity(object $entity) {
|
||||
return get_class($entity) === $this->entityClass;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user