From 08b3e8f18f0aa620d537f3258b2e080600e0f43e Mon Sep 17 00:00:00 2001 From: James Date: Sun, 20 Feb 2022 12:22:42 -0500 Subject: [PATCH] fix: ensures empty hasMany relationships save as empty arrays --- .../forms/field-types/Relationship/createRelationMap.ts | 8 ++++---- src/fields/traverseFields.ts | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/admin/components/forms/field-types/Relationship/createRelationMap.ts b/src/admin/components/forms/field-types/Relationship/createRelationMap.ts index 0302086747..adabd83763 100644 --- a/src/admin/components/forms/field-types/Relationship/createRelationMap.ts +++ b/src/admin/components/forms/field-types/Relationship/createRelationMap.ts @@ -27,12 +27,12 @@ export const createRelationMap: CreateRelationMap = ({ } }; - if (hasMany) { - (value as Value[] || []).forEach((val, i) => { + if (hasMany && Array.isArray(value)) { + value.forEach((val) => { if (hasMultipleRelations) { - add(value[i].relationTo, value[i].value); + add(val.relationTo, val.value); } else { - add(relationTo, value[i]); + add(relationTo, val); } }); } else if (hasMultipleRelations) { diff --git a/src/fields/traverseFields.ts b/src/fields/traverseFields.ts index 9c2d96d0a8..8221f0c491 100644 --- a/src/fields/traverseFields.ts +++ b/src/fields/traverseFields.ts @@ -106,7 +106,8 @@ const traverseFields = (args: Arguments): void => { } } - if (field.type === 'relationship' && field.hasMany && (data[field.name] === '' || data[field.name] === 'none' || data[field.name] === 'null')) { + // if (field.type === 'relationship' && field.hasMany && (data[field.name] === '' || data[field.name] === 'none' || data[field.name] === 'null')) { + if (field.type === 'relationship' && field.hasMany && (data[field.name] === '' || data[field.name] === 'none' || data[field.name] === 'null' || data[field.name] === null)) { dataCopy[field.name] = []; }