prisma-client-php 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/init.js CHANGED
@@ -66,7 +66,7 @@ function installPackages(isPrismaPHP) {
66
66
  "@prisma/internals@^6.4.1",
67
67
  ];
68
68
  if (!isPrismaPHP) {
69
- packages.push("tsx@^4.19.3", "typescript@^5.8.2", "@types/node@^22.13.8");
69
+ packages.push("tsx@^4.19.3", "typescript@^5.8.2", "@types/node@^22.13.10");
70
70
  }
71
71
  const packagesStr = packages.join(" ");
72
72
  try {
@@ -730,6 +730,7 @@ final class PPHPUtility
730
730
 
731
731
  $reflection = new ReflectionClass($relatedClassName);
732
732
  $relatedClass = $reflection->newInstance($pdo);
733
+ $relatedResult = null;
733
734
 
734
735
  if (isset($fieldData['create'])) {
735
736
  $relatedData = ['data' => $fieldData['create']];
@@ -745,6 +746,38 @@ final class PPHPUtility
745
746
  $relatedData = ['data' => $fieldData['connectOrCreate']['create']];
746
747
  $relatedResult = $relatedClass->create($relatedData);
747
748
  }
749
+ } elseif (isset($fieldData['delete'])) {
750
+ $relatedData = ['where' => $fieldData['delete']];
751
+ $relatedClass->delete($relatedData);
752
+ return [];
753
+ } elseif (isset($fieldData['disconnect'])) {
754
+ $relatedData = [
755
+ 'where' => $fieldData['disconnect'],
756
+ 'data' => [
757
+ $relationFromFields[0] => null
758
+ ]
759
+ ];
760
+ $relatedResult = $relatedClass->update($relatedData);
761
+ } elseif (isset($fieldData['update'])) {
762
+ $relatedData = [
763
+ 'where' => $fieldData['update']['where'],
764
+ 'data' => $fieldData['update']['data']
765
+ ];
766
+ $relatedResult = $relatedClass->update($relatedData);
767
+ } elseif (isset($fieldData['upsert'])) {
768
+ $relatedData = ['where' => $fieldData['upsert']['where']];
769
+ $relatedResult = $relatedClass->findUnique($relatedData);
770
+
771
+ if ($relatedResult) {
772
+ $relatedData = [
773
+ 'where' => $fieldData['upsert']['where'],
774
+ 'data' => $fieldData['upsert']['update']
775
+ ];
776
+ $relatedResult = $relatedClass->update($relatedData);
777
+ } else {
778
+ $relatedData = ['data' => $fieldData['upsert']['create']];
779
+ $relatedResult = $relatedClass->create($relatedData);
780
+ }
748
781
  } else {
749
782
  throw new Exception("No valid action provided for relation '$fieldName'.");
750
783
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prisma-client-php",
3
3
  "description": "Prisma Client PHP is an auto-generated query builder that enables type-safe database access in PHP.",
4
- "version": "0.0.16",
4
+ "version": "0.0.18",
5
5
  "main": "index.js",
6
6
  "type": "module",
7
7
  "scripts": {