Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SF][SF2][Doctrine2], Warunek jako integer, zamiast Entity
mimol
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


Witam,
Mam Entity Order, który jest połączony w relacji O2O z Movie,
id|order_id|
1| 1
2 |1
Jak napisać zapytanie, żeby zwróciło mi wyniki, gdzie order_id =1?
Nie mogę po prostu podać order.id jako integer
  1. return $this->getEntityManager()->createQueryBuilder()
  2. ->select('o')
  3. ->from('MyMoviesBundle:Orders', 'o')
  4. ->where('o.order_id = 1')

Niestety tak nie mogę,
Czy jest jakiś sposób na zwrócenie wyników, nie wysylając jako order całego obiektu entity order a tylko jego ID?
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Raczej nie powinieneś operować na ID tylko na obiektach.
2. DQL: MEMBER OF: https://doctrine-orm.readthedocs.org/en/lat...2member%20of%22
Go to the top of the page
+Quote Post
mimol
post
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


Czy da się to użyć w queryBuilderze?
Próbuję i ciągle jakiś błąd
jesli próbuje przez create query dostaje
Cytat
Error: Invalid PathExpression. Must be a CollectionValuedAssociationField.


Ten post edytował mimol 12.02.2013, 22:15:14
Go to the top of the page
+Quote Post
ano
post
Post #4





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

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


Eeeee.... a czy przypadkiem nie powinieneś miec tak napisanego tego zapytania?
  1. return $this->getEntityManager()->createQueryBuilder()
  2. ->select('m')
  3. ->from('MyMoviesBundle:Movie', 'm')
  4. ->where('m.order_id = 1')



--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
mimol
post
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


@ano
Dostaje błąd
Cytat
MovieHasOrder has no field or association named movie_id
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Może rzuć encje i co chcesz osiągnąć, bo mam jakieś dziwne wrażenie, że użyłes złych relacji (choć mogę się mylić) i można problem rozwiązać, nieco kod zmieniając.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
mimol
post
Post #7





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


nie potrafięsię przyzwyczaić do tej polskiej nazwy wink.gif
Movie http://pastebin.com/MFUCKU1F
MovieHasOrder http://pastebin.com/B07GZstJ
Orders http://pastebin.com/3YRnKbrF (nazwa order jest zarezerwowana)
W skrócie
movie(id, name)
order(id, user_id, session)
movieHasOrder(id, product_id, order_id, amount)
user(id, name)

W kontrolerze mam akcję dodaj, (leci do niej formularz w którym jest pole ID,Amount) i dzięki niemu dodaje np film do bazy.
Ma to swoją wadę, ponieważ za każdym razem muszę pobrać encje Movie, tylko po to, żeby później móc dodać go do bazy [Nie mogę podać MOIVE_ID(jako integer) do Obiektu do MovieHasOrder]
Go to the top of the page
+Quote Post
destroyerr
post
Post #8





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Cytat
ponieważ za każdym razem muszę pobrać encje Movie, tylko po to, żeby później móc dodać go do bazy

Rozwiązanie tego problemu.
Go to the top of the page
+Quote Post
mimol
post
Post #9





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


@destroyerr
dzięki za odpwiedź
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 19:36