Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][Symfony2][SF]Wyciąganie z bazy danych za pomocą specjalnych kryteriów ,problem
szypi1989
post
Post #1





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2010

Ostrzeżenie: (0%)
-----


Witam. Otóż Chciałem wyciągnąć z bazy danych z projektu sklepu samochodowego ( taki wymyślony dla testu) w symfony 2.8 , wszystkie samochody które mają cenę powyżej 3000 i mniej niż 8000 ale jakoś mi to nie wychodzi poprzez funkcję findBy:

  1. $entities = $em->getRepository('SzypiBundle:Cars')->findBy(array("price" => ">3000"));


Oto chodzi , żę znak ">" nic nie rusza moich wyników . Chciałbym także aby wyciągnać z bazy danych także poniżej wartośći kolumny price.
Czyli coś takiego price > 3000 i price < 3000.
Jak nie można zrobić to za pomocą findBy to jak najlepiej to zrobić i najwygodniej?

Ten post edytował szypi1989 10.08.2017, 11:52:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Dobrze jest używać ORMa w takiej kolejności:

1. Obiekt encji (np. $articles = $user->getArticles())
2. Repozytorium + standardowe findBy
3. Repozytorium + matching:
  1. $c = new \Doctrine\Common\Collections\Criteria();
  2. $c->where($c->expr()->gt('costam', 999));
  3.  
  4. $data = $repo->matching($c);

4. Query builder
5. DQL
6. Native query

Jest to istotne, gdyż przy 1-3 mamy pełne wsparcie ORM.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:11