Symfony3 i Doctrin jak pobrać maksymalną wartość

Symfony3 i Doctrin jak pobrać maksymalną wartość
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,

Jak w pytaniu, jaki jest najprostszy sposób pobrania w S3 i Doctrine rekordu z bazy podług maksymalnej wartość konkretnego pola tj.

Kopiuj
select max(partners.order) as max_order from partners

Z góry dziękuję za pomoc. To mój pierwszy projekt z S3 i Doctrine.

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1788
0

Wydaje mi sie, że musisz napisać własne zapytanie używając query buildera albo natywnego sql'a

bagsiur
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Stwórz w EntityRepository nową funkcję podobną do tej:

Kopiuj
    
    public function findMaxOrder()
    {
        $maxOrder = $this->getEntityManager()
        ->createQuery('SELECT MAX(n.nazwaPola) FROM BagsiurAdminBundle:NazwaEncji n')
        ->setMaxResults(1)
        ->getOneOrNullResult();
        
        if(!$maxOrder[1]) return 1;
        else return ($maxOrder[1]+1);
    }

I wykorzystaj ją w kontrolerze:

Kopiuj
$em = $this->getDoctrine()->getManager();
$maxOrder = $em->getRepository('BagsiurAdminBundle:NazwaEncji')->findMaxOrder();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.