mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-17 21:00:09 -07:00
Add search queries
This commit is contained in:
parent
de81b5888f
commit
3ce40e7f23
@ -57,6 +57,23 @@ class ModelRepository extends BaseRepository
|
|||||||
return $this->findOneBy(['name' => $name]);
|
return $this->findOneBy(['name' => $name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findAllRegularBySetNumber($number)
|
||||||
|
{
|
||||||
|
$inventory = $this->getEntityManager()->getRepository(Inventory::class)->findNewestInventoryBySetNumber($number);
|
||||||
|
|
||||||
|
$queryBuilder = $this->createQueryBuilder('model');
|
||||||
|
|
||||||
|
$queryBuilder
|
||||||
|
->join(Part::class, 'part', JOIN::WITH, 'part.model = model')
|
||||||
|
->join(Inventory_Part::class, 'inventory_part', JOIN::WITH, 'part.number = inventory_part.part')
|
||||||
|
->join(Inventory::class, 'inventory', JOIN::WITH, 'inventory_part.inventory = :inventory')
|
||||||
|
->setParameter('inventory', $inventory)
|
||||||
|
->addSelect('inventory_part')
|
||||||
|
->distinct(true);
|
||||||
|
|
||||||
|
return ($queryBuilder->getQuery()->getScalarResult());
|
||||||
|
}
|
||||||
|
|
||||||
public function findAllBySetNumber($number)
|
public function findAllBySetNumber($number)
|
||||||
{
|
{
|
||||||
$queryBuilder = $this->createQueryBuilder('model');
|
$queryBuilder = $this->createQueryBuilder('model');
|
||||||
@ -90,6 +107,25 @@ class ModelRepository extends BaseRepository
|
|||||||
return $queryBuilder->getQuery()->getResult();
|
return $queryBuilder->getQuery()->getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findByQuery($query, $limit = null) {
|
||||||
|
$queryBuilder = $this->createQueryBuilder('model');
|
||||||
|
|
||||||
|
|
||||||
|
$queryBuilder->where(
|
||||||
|
$queryBuilder->expr()->orX(
|
||||||
|
$queryBuilder->expr()->like('model.number', ':number'),
|
||||||
|
$queryBuilder->expr()->like('model.name', ':name')
|
||||||
|
))
|
||||||
|
->setParameter('name', '%'.$query.'%')
|
||||||
|
->setParameter('number', $query.'%');
|
||||||
|
|
||||||
|
if($limit) {
|
||||||
|
$queryBuilder->setMaxResults($limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $queryBuilder->getQuery()->getResult();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create new Model entity with $number or retrieve one.
|
* Create new Model entity with $number or retrieve one.
|
||||||
*
|
*
|
||||||
|
@ -50,4 +50,18 @@ class SetRepository extends BaseRepository
|
|||||||
|
|
||||||
return $queryBuilder->getQuery()->getResult();
|
return $queryBuilder->getQuery()->getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findByQuery($query, $limit = null) {
|
||||||
|
$queryBuilder = $this->createQueryBuilder('s')
|
||||||
|
->where('s.name LIKE :name')
|
||||||
|
->orWhere('s.number LIKE :number')
|
||||||
|
->setParameter('name', '%'.$query.'%')
|
||||||
|
->setParameter('number', $query.'%');
|
||||||
|
|
||||||
|
if($limit) {
|
||||||
|
$queryBuilder->setMaxResults($limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $queryBuilder->getQuery()->getResult();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user