Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][Doctrine]
Forum PHP.pl > Forum > PHP > Frameworki
mimol
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)
mimol
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. }
mimol
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
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.