Add lookup by order master to collection reference repository

This commit is contained in:
Benoît Burnichon
2016-02-25 19:38:57 +01:00
parent fd66b408b8
commit 871dd58ea4
4 changed files with 42 additions and 2 deletions

View File

@@ -10,7 +10,6 @@
namespace Alchemy\Phrasea\Collection\Reference;
use Alchemy\Phrasea\Core\Database\QueryBuilder;
use Doctrine\DBAL\Connection;
class DbalCollectionReferenceRepository implements CollectionReferenceRepository
@@ -107,6 +106,29 @@ class DbalCollectionReferenceRepository implements CollectionReferenceRepository
return null;
}
public function findHavingOrderMaster(array $subset = null)
{
$query = self::$selectQuery
. ' WHERE EXISTS(SELECT 1 FROM basusr WHERE basusr.order_master = 1 AND basusr.base_id = bas.base_id)';
$parameters = [];
$types = [];
if (null !== $subset) {
if (empty($subset)) {
return [];
}
$query .= ' AND bas.base_id IN (:subset)';
$parameters['subset'] = $subset;
$types['subset'] = Connection::PARAM_INT_ARRAY;
}
$rows = $this->connection->fetchAll($query, $parameters);
return $this->createManyReferences($rows);
}
public function save(CollectionReference $collectionReference)
{
$query = self::$insertQuery;