Ich habe die folgende Objektstruktur: Order->RepairJobs->Parts
. Part
hat eine boolesche Eigenschaft InStock
. Was wäre der effizienteste Weg, um herauszufinden, ob eine bestimmte Order
enthält RepairJobs
mit Parts
, die nicht auf Lager sind? Sollte ich iterieren durch alle RepairJob
und dann durch alle Part
, oder hat Symfony/Doctrine einige intelligente Funktion dafür?Symfony Iterate durch Objekte
1
A
Antwort
0
In Ihrem Controller Add Query Builder:
$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$qb->select('p')
->from('AppBundle:Part', 'p')
->where('p.InStock = false');
$parts = $qb->getQuery()->getResult();
Pass zu machen Vorlage Zweig wie so:
return $this->render('show/orders_without_stock.html.twig', array(
'parts' => $parts,
));
dann in Twig iterieren:
<h2>Orders With Parts Not in Stock</h2>
<table>
<tr>
<th>Order</th>
</tr>
{% for part in parts %}
<tr>
<td>{{ part.getRepairJob.getOrder }}</td>
</tr>
{% endfor %}
</table>
In der oben Zweig, "part" ist ein Part-Objekt und "getRepairJob" ist eine Part-Methode, die die Repair-Entity erhält. Dies ruft ein RepairJob-Objekt ab, dann ist 'getOrder' die RepairJob-Methode, die ein Order-Objekt erhält. Ich nehme an, dass Sie Ihre Entitäten und die richtigen ORM-Annotationen eingerichtet haben, um jede Entität zuzuordnen. Wo sowohl "RepairJobs" als auch "Parts" eine Sammlung von Objekten sind.
Hoffentlich macht das Sinn. Aber so wird es gemacht, und es macht die Programmierung extrem einfach.
Verwandte Themen
- 1. Iterate durch Registrierungseinträge
- 2. Iterate durch verschachtelte hashmap
- 3. Iterate durch Json Array
- 4. Iterate durch StringProperty
- 5. Iterate durch einen Namespace
- 6. Iterate bedingt durch Array
- 7. Iterate durch Liste R
- 8. Iterate Enum durch Argument
- 9. Iterate durch Repeater
- 10. Iterate durch Registry-Unterordner
- 11. Iterate durch ein Struct?
- 12. Iterate durch NSData Bytes
- 13. Wie iterate durch int?
- 14. Iterate durch verlinkte Liste in Java
- 15. Iterate durch Schlüssel/Werte in Hogan.js
- 16. Wie durch iterate google multimap
- 17. Iterate durch Unterverzeichnisse in bash
- 18. Iterate durch DataRepeater (VB.Net PowerPack)
- 19. Kotlin: Iterate durch ein JSONArray
- 20. Iterate durch VBA Dropdown-Liste
- 21. Iterate durch Pandas Reihen effizient
- 22. Iterate durch ein VB6-Wörterbuch
- 23. Apple Emoji/Iterate durch NSString
- 24. Iterate durch eigene Strings & Trim des Objekts
- 25. Iterate durch Timer dann ihre Namen bekommen
- 26. Iterate Liste der Objekte in Ibatis
- 27. Iterate jeden Monat mit Datum Objekte
- 28. Symfony: Mehrere gleiche Objekte speichern
- 29. Iterate durch verschachtelte JSON-Objekt-Array
- 30. Iterate durch einen String Swift 2.0