commit 2c3292cd43de44bd7b2046224fc8ea84b7ee03b4
parent 4843bb4836878326afd1e62e4347533e72efb877
Author: Felicitus <felicitus@felicitus.org>
Date: Mon, 26 Mar 2012 00:48:36 +0200
Added attachment counts to the result set
Diffstat:
1 file changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/backend/de/RaumZeitLabor/PartKeepr/Part/PartManager.php b/src/backend/de/RaumZeitLabor/PartKeepr/Part/PartManager.php
@@ -13,6 +13,7 @@ use de\RaumZeitLabor\PartKeepr\UploadedFile\TempUploadedFile,
de\RaumZeitLabor\PartKeepr\StorageLocation\StorageLocation,
de\RaumZeitLabor\PartKeepr\StorageLocation\StorageLocationManager,
de\RaumZeitLabor\PartKeepr\Part\Part,
+ Doctrine\ORM\Query,
de\RaumZeitLabor\PartKeepr\PartUnit\PartUnitManager,
de\RaumZeitLabor\PartKeepr\Distributor\Distributor,
de\RaumZeitLabor\PartKeepr\Manufacturer\Manufacturer,
@@ -81,6 +82,25 @@ class PartManager extends AbstractManager {
}
}
+ /**
+ * Processes the result after it was retrieved. In the default configuration, it returns an array result, or
+ * if no query fields are specified, it tries to serialize all objects.
+ */
+ protected function getResult (Query $query) {
+ $result = parent::getResult($query);
+
+ /* Add attachment counts to the result set */
+ foreach ($result as $key => $item) {
+ $dql = "SELECT COUNT(pa) FROM de\RaumZeitLabor\PartKeepr\Part\PartAttachment pa WHERE pa.part = :part";
+ $query = PartKeepr::getEM()->createQuery($dql);
+ $query->setParameter("part", $item["id"]);
+
+ $result[$key]["attachmentCount"] = $query->getSingleScalarResult();
+ }
+
+ return $result;
+ }
+
public function addOrUpdatePart ($aParameters) {
if (!array_key_exists("quantity", $aParameters)) {