From 196d1e4d3abd72816afd139f4ff413c155e8ca4a Mon Sep 17 00:00:00 2001 From: Ollama Date: Wed, 15 Apr 2026 17:08:20 +0000 Subject: [PATCH] fix: Remove deleted filter and primary key from insert - Remove deleted=0 filter from existence check (allow soft-deleted updates) - Remove primary key from insert payload to avoid conflicts - Cleaner approach for upsert logic Address CodeRabbit review feedback --- app/Models/Item.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Models/Item.php b/app/Models/Item.php index c70b7b38a..1231751ad 100644 --- a/app/Models/Item.php +++ b/app/Models/Item.php @@ -450,10 +450,9 @@ class Item extends Model // If id > 0 and record exists by primary key only, update it if ($id > 0) { - // Check existence strictly by primary key + // Check existence strictly by primary key (regardless of soft-delete status) $builder = $this->db->table('items'); $builder->where($primaryKey, $id); - $builder->where('deleted', 0); $exists = $builder->countAllResults() > 0; if ($exists) { @@ -470,8 +469,12 @@ class Item extends Model // Insert new record with transaction for atomicity $this->db->transBegin(); + // Remove primary key from insert payload if present + $insertData = $data; + unset($insertData[$primaryKey]); + $builder = $this->db->table('items'); - $success = $builder->insert($data); + $success = $builder->insert($insertData); if ($success) { $data[$primaryKey] = (int)$this->db->insertID();