From 08e7ba56ae983c3c67ec563b6989b16ef8f35275 Mon Sep 17 00:00:00 2001 From: lukmzig <30526586+lukmzig@users.noreply.github.com> Date: Wed, 15 Mar 2023 16:24:56 +0100 Subject: [PATCH] [Task] Optimized get by UUID (#14633) * fix: unify uuid queries * replaced query with queryBuilder --------- Co-authored-by: ChristianFeldkirchne --- models/Tool/UUID/Dao.php | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/models/Tool/UUID/Dao.php b/models/Tool/UUID/Dao.php index a8b0305f26e..c3bb0f067cd 100644 --- a/models/Tool/UUID/Dao.php +++ b/models/Tool/UUID/Dao.php @@ -15,6 +15,7 @@ namespace Pimcore\Model\Tool\UUID; +use Doctrine\DBAL\Types\Types; use Pimcore\Db\Helper; use Pimcore\Model; @@ -80,7 +81,17 @@ public function delete() */ public function getByUuid($uuid) { - $data = $this->db->fetchAssociative('SELECT * FROM ' . self::TABLE_NAME ." where uuid='" . $uuid . "'"); + $queryBuilder = $this->db->createQueryBuilder(); + $queryBuilder + ->select('*') + ->from(self::TABLE_NAME) + ->where('uuid = :uuid') + ->setParameter('uuid', $uuid, Types::STRING); + + $data = $queryBuilder + ->execute() + ->fetchAssociative(); + $model = new Model\Tool\UUID(); $model->setValues($data); @@ -94,6 +105,18 @@ public function getByUuid($uuid) */ public function exists($uuid) { - return (bool) $this->db->fetchOne('SELECT uuid FROM ' . self::TABLE_NAME . ' where uuid = ?', [$uuid]); + $queryBuilder = $this->db->createQueryBuilder(); + $queryBuilder + ->select('uuid') + ->from(self::TABLE_NAME) + ->where('uuid = :uuid') + ->setParameter('uuid', $uuid, Types::STRING); + + + $result = $queryBuilder + ->execute() + ->fetchOne(); + + return (bool) $result; } }