Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][SF2] Optymalizacja zapytania do bazy
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Witam,

Chcąc ograniczyć liczbę zapytań do bazy danych, które pokazuje mi Toolbar , chciałbym zmodyfikować zapytanie tak aby dla każdego rekordu nie wykonywalo się to samo, tylko żeby na przykład jednym zapytaniem pobrać osobno dane dla każdego usera. Nie wiem tylko czy w moim kodzie da się to zrobić.

Kod z kontrolera:

  1. $users = array(2,3,5,6,7);
  2. foreach ($users as $user) {
  3. $bets = $em->getRepository('MyBetBundle:Bet')->findSomeBets($user);
  4. }


Kod w Modelu w klasie OfferRepository:

  1. public function findSomeBets($user)
  2. {
  3. $query = $this->getEntityManager()
  4. ->createQuery('
  5. SELECT o.id
  6. FROM My\BetBundle\Entity\Bet b
  7. WHERE (b.user = :user)
  8. ')
  9. ->setParameters(array('user' => $user));
  10. return $query->getArrayResult();
  11. }


Obecnie mam 5 zapytań a chciałbym jedno.

Chodzi mi o to żeby zapytanie zwróciło mi taką mniej więcej tablicę:

$newTable = array(2 => array(23,24,25,26),
3 => array(43,45,46,37),
5 => array(67,68,69,71)
);


dzięĸi
Crozin
  1. $em->createQuery('SELECT ... FROM My\BetBundle\Entity\Bet b WHERE b.id IN(:bids)')
  2. ->setParameter('bids', array(1, 2, 3, 4))
  3. ->getArrayResult();
?
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.