diff --git a/lib/src/objects/parse_object.dart b/lib/src/objects/parse_object.dart index 5c28f8e8a..d39757582 100644 --- a/lib/src/objects/parse_object.dart +++ b/lib/src/objects/parse_object.dart @@ -84,7 +84,7 @@ class ParseObject extends ParseBase implements ParseCloneable { /// Removes an element from an Array Future remove(String key, dynamic values) async { if (key != null) { - return await _sortArrays(ParseApiRQ.remove, "Remove", key, [values]); + return await _sortArrays(ParseApiRQ.remove, "Remove", key, values); } else { return null; } @@ -130,11 +130,15 @@ class ParseObject extends ParseBase implements ParseCloneable { Future _sortArrays(ParseApiRQ apiRQType, String arrayAction, String key, List values) async { try { - var uri = "${ParseCoreData().serverUrl}$_path"; - var body = - "{\"$key\":{\"__op\": \"$arrayAction\", \"objects\": ${parseEncode(values)}"; - var result = await _client.put(uri, body: body); - return handleResponse(this, result, apiRQType, _debug, className); + if (objectId != null) { + var uri = "${ParseCoreData().serverUrl}$_path/$objectId"; + var body = + "{\"$key\":{\"__op\":\"$arrayAction\",\"objects\":${json.encode(parseEncode(values))}}}"; + var result = await _client.put(uri, body: body); + return handleResponse(this, result, apiRQType, _debug, className); + } else { + return null; + } } on Exception catch (e) { return handleException(e, apiRQType, _debug, className); }