Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Doctrine], Dodanie pola do encji
mimol
post
Post #1





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

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


Witam.
Posiadam encje
movie (id,name,movieOrder)
movehasorder(movie,order)
order(ordermovie,amount)
Movie-Moviehasorder-Order

Pobieram sobie konkurenty order dla użytkownika.
Chciałbym zwrócić coś w stylu:
Cała encje movie + dodatkowe pole amount...
Rozwiązałem to w ten sposób
  1. $result = array();
  2. $amount = array();
  3. $orderMovies = $order->getOrderMovie();
  4. $products = new ArrayCollection();
  5. foreach ($orderMovies as $orderMovie){
  6. $products->add($orderMovie->getMovie());
  7. $amount[$orderMovie->getMovie()->getId()] = $orderMovie->getAmount();
  8. }
  9. $result['products'] = $products;
  10. $result['amount'] = $amount;
  11. return $result;

Jednak nie jest to zbyt wygodne.
Czy da się to zwrócić w Jednej tablicy?
Dla zobrazowania....
Pobieram sobie encje movie :
$entity = $em->getRepository('MyMoviesBundle:Movie')->find(1);
chciałbym teraz sobie dodać do $entity dodatkowe pole np amout (którego NIE ma zdefiniowanego w entity/movie.php) Czy da się tak zrobić?

Domyślam się, że mogę zrobić dodatkowe pole w tej klasie, ale czy to ma sens? Czy lepiej zostawić tak jak jest (rozbijając na 2 tablice)


Ten post edytował mimol 17.02.2013, 19:59:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mimol
post
Post #2





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

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


Czy jest jakiś sposób aby w widoku zamiast
  1. {% for movie in products %}
  2. ....
  3. <span class="quantity">{{ amounts[movie.id] }}</span>
  4. {% endfor %}

było
  1. {% for movie in products %}
  2. ....
  3. <span class="quantity">{{ movie.amount }}</span>
  4. {% endfor %}


Czyli coś w PHP w stylu
  1. foreach ($orderMovies as $orderMovie){
  2. $products->add($orderMovie->getMovie());
  3. }

  1. foreach ($products->getMovie() as $Movie){
  2. $Movie->AddNewItem('amount, $amount)
  3. }


Ten post edytował mimol 21.02.2013, 01:15:00
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%)
-----


Dzięki za odpowiedź, jednak chciałbym pobrać ilość filmów dla danego zamówienia. Jakkolwiek wydaje mi się, że wszystkie próby napisania tego w 'własciwy' sposób, będą bardziej skomplikowane od tego co mam
Go to the top of the page
+Quote Post

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: 22.08.2025 - 18:03