Witam,
Korzystam od jakiegoś czasu z doctrine 2 i mam zapytanie zrobione ale where zalezy od tego co przyjdzie do funkcji mniej więcej wygląda to tak:
public function getMaxRankCategory($parentCategory)
{
$query = $this->getEntityManager()->createQueryBuilder()
->addSelect('MAX(category.rank) AS maxRank')
->from('ProductCategory', 'category')
->where(function ($q) use ($parentCategory) {
if(is_null($parentCategory)) {
$q->where('category.parentCategory is NULL');
} else {
$q->where('category.parentCategory = :parentCategory')
->setParameter('parentCategory', $parentCategory);
}
})
->getQuery();
$result = $query->getSingleResult();
return $result['maxRank'];
}
i zwracany jest błąd "Expression of type 'Closure' not allowed in this context." Nie chce tego robić że jeśli NULL to takie zapytanie a w przeciwnym razie inne. proszę o pomoc co źle robię i jak takie coś zrealizować w Doctrine 2