Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony][doctrine]Jak pobrać maksymalną wartość
Forum PHP.pl > Forum > PHP > Frameworki
yaotzin
Witam

Jestem początkujący w kwestii frameworków PHP:

Kwestia jest taka, iż posiadam tabelę, gdzie mam dwie wartości id1 i id2, pierwszy określa relację z inną tabelą natomiast drugi zapewnia unikalny klucz główny dla aplikacji.

No i jest tak, że id1 pobieram i jestem w stanie dodać tam gdzie trzeba, natomiast id2 muszę ręcznie inkrementować, i tutaj jest pytanie jak pobrać maksimum z bazy danych dla tej wartości?

Próbuję robić tak:
  1. Doctrine::getTable('tabela')->createQuery('select max(s.id2) from tabela s where s.id1 = :id1');


Poza faktem, że powyższy zapis wydaje mi się całkowicie bez sensu to nie wiem gdzie popełniam błąd. Pracowałem z frameworkami JAVA'owymi dłuuuugo, więc zarzuciłem PHP, niedawno postanowiłem przywrócić swoją wiedzę, ale coś to kiepsko idzie winksmiley.jpg

Po execute dostaję jakiś dziwny obiekt, który nic mi nie mówi, więc nadal nie wiem jak dostać się do wartości id2 którą potrzebuję
yaotzin
  1. $answer = Doctrine::getTable('pwnOrder')->createQuery('s')->select('max(s.id2)')->where('s.id1 = ?', $id1);
  2. $result = $answer->fetchOne();
  3. print_r($result['max']);


Rozwiązałem to tak jak w powyższym, z tym że teraz gdy poustawiałem te wartości w polach form:

  1. $this->form->setDefault('id1', $id1);
  2. $this->form->setDefault('id2', $result['max']+1)


to dostaję info z symfony

  1. * User: Invalid.
  2. * Order: Invalid.


Nie wiem dlaczego? CRUD generowałem w symfony, nie pisałem ręcznie.

Na marginesie, bo nie widziałem, że odpowiedziałeś (@Crozin) dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.