diff --git a/src/base/BaseRepository.php b/src/base/BaseRepository.php
index 574c64105b59e1ce18652122b481c2050fd44ec1..795f04b4653b16491bed9f28efc402ed643746e4 100644
--- a/src/base/BaseRepository.php
+++ b/src/base/BaseRepository.php
@@ -229,7 +229,19 @@ abstract class BaseRepository
       $stmt->bindValue(":$key", $model->get($key), $value);
     }
 
-    $stmt->bindValue(":primaryKey", $model->get($primaryKey), PDO::PARAM_INT);
+    if (is_array($primaryKey)) {
+      $sql .= implode(" AND ", array_map(function ($key, $value) {
+        return "$value = :$value"; // Menggunakan nama parameter yang sesuai
+      }, array_keys($primaryKey), array_values($primaryKey)));
+
+      foreach ($primaryKey as $key => $value) {
+        $stmt->bindValue(":$value", $model->get($value), PDO::PARAM_STR); // Menggunakan nama parameter yang sesuai
+      }
+    } else {
+      $sql .= "$primaryKey = :primaryKey";
+      $stmt = $this->pdo->prepare($sql);
+      $stmt->bindValue(":primaryKey", $model->get($primaryKey), PDO::PARAM_INT);
+    }
 
     $stmt->execute();
     return $stmt->rowCount();
@@ -242,13 +254,13 @@ abstract class BaseRepository
     if (is_array($primaryKey)) {
       $sql .= implode(" AND ", array_map(function ($key, $value) {
         return "$value = :$value"; // Menggunakan nama parameter yang sesuai
-    }, array_keys($primaryKey), array_values($primaryKey)));
-    
-    $stmt = $this->pdo->prepare($sql);
-    
-    foreach ($primaryKey as $key => $value) {
+      }, array_keys($primaryKey), array_values($primaryKey)));
+
+      $stmt = $this->pdo->prepare($sql);
+
+      foreach ($primaryKey as $key => $value) {
         $stmt->bindValue(":$value", $model->get($value), PDO::PARAM_STR); // Menggunakan nama parameter yang sesuai
-    }    
+      }
     } else {
       $sql .= "$primaryKey = :primaryKey";
       $stmt = $this->pdo->prepare($sql);