Jan 15, 2021 01:02 AM
Hi there -
I have it working to update individual records in updateRecordAsync but it’s replacing the cell values. How can I keep from updating the cell values but just update by adding?
This is for a Look-Up field so it requires a different format than string.
Jan 15, 2021 03:16 AM
So, like sustain the current values and simply add additional lookup references? I think that’s what you are driving at.
It requires that you read the existing value (which I believe would be an array of record IDs), push() another value onto that array, and then write the updated array back to the lookup field.
Jan 15, 2021 03:59 AM
Yeah. I am just not sure the most efficient way to do this. It is working for now as I am doing a .includes to look up if the values are previously there and if not, then it’s adding new ones.
Adding it as an array of {id: id} was the fix, otherwise.
Jan 15, 2021 10:33 AM
@Rose_Haft1 - this is a link field, yes? If so, the best way is to use the spread operator. From the docs:
When updating an existing linked record cell value, the specified array will overwrite the current cell value. If you want to add a new linked record without deleting the current linked records, you can spread the current cell value like so:
let newForeignRecordIdToLink = 'recXXXXXXXXXXXXXX';
myTable.updateRecordAsync(myRecord, {
'myLinkedRecordField': [
...myRecord.getCellValue('myLinkedRecordField'),
{ id: newForeignRecordIdToLink }
]
})
From MDN:
I’ve got an example of this here (albeit on an attachment field, not a link field, but it is the same idea)