Skip to content
Snippets Groups Projects
Commit 0ef64121 authored by Kenneth Ezekiel's avatar Kenneth Ezekiel
Browse files

fix: update for composite primary key

parent f010614f
Branches
Tags
No related merge requests found
...@@ -229,7 +229,19 @@ abstract class BaseRepository ...@@ -229,7 +229,19 @@ abstract class BaseRepository
$stmt->bindValue(":$key", $model->get($key), $value); $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(); $stmt->execute();
return $stmt->rowCount(); return $stmt->rowCount();
...@@ -242,13 +254,13 @@ abstract class BaseRepository ...@@ -242,13 +254,13 @@ abstract class BaseRepository
if (is_array($primaryKey)) { if (is_array($primaryKey)) {
$sql .= implode(" AND ", array_map(function ($key, $value) { $sql .= implode(" AND ", array_map(function ($key, $value) {
return "$value = :$value"; // Menggunakan nama parameter yang sesuai return "$value = :$value"; // Menggunakan nama parameter yang sesuai
}, array_keys($primaryKey), array_values($primaryKey))); }, array_keys($primaryKey), array_values($primaryKey)));
$stmt = $this->pdo->prepare($sql); $stmt = $this->pdo->prepare($sql);
foreach ($primaryKey as $key => $value) { foreach ($primaryKey as $key => $value) {
$stmt->bindValue(":$value", $model->get($value), PDO::PARAM_STR); // Menggunakan nama parameter yang sesuai $stmt->bindValue(":$value", $model->get($value), PDO::PARAM_STR); // Menggunakan nama parameter yang sesuai
} }
} else { } else {
$sql .= "$primaryKey = :primaryKey"; $sql .= "$primaryKey = :primaryKey";
$stmt = $this->pdo->prepare($sql); $stmt = $this->pdo->prepare($sql);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment