Delete Objects from relation¶
The API removes specific objects from a relationship with their parent.
- (void)deleteRelationWithColumnName:(NSString * _Nonnull)columnName parentObjectId:(NSString * _Nonnull)parentObjectId childrenObjectIds:(NSArray<NSString *> * _Nonnull)childrenObjectIds responseHandler:^(NSNumber * _Nonnull)responseHandler errorHandler:^(Fault * _Nonnull)errorHandler;
func deleteRelation(columnName: String, parentObjectId: String, childrenObjectIds: [String], responseHandler: ((NSNumber) -> Void)!, errorHandler: ((Fault) -> Void)!)
- (void)deleteRelationWithColumnName:(NSString * _Nonnull)columnName parentObjectId:(NSString * _Nonnull)parentObjectId childrenObjectIds:(NSArray<NSString *> * _Nonnull)childrenObjectIds responseHandler:^(NSNumber * _Nonnull)responseHandler errorHandler:^(Fault * _Nonnull)errorHandler;
func deleteRelation(columnName: String, parentObjectId: String, childrenObjectIds: [String], responseHandler: ((NSNumber) -> Void)!, errorHandler: ((Fault) -> Void)!)
where:
Argument | Description |
---|---|
parentObjectId |
Must be objectId of the object which contains specified related child objects. |
columnName |
Name of the column identifying the relation. Relationship between the specified objects from the children collection will be deleted for the column in the table containing parentObjectId . |
childrenObjectIds |
A collection of child objectId values for which the relationship with parentObjectId will be deleted. |
Return Value¶
Number of child objects for which the relationship has been deleted.
Example¶
The example below deletes a relation between a Person object and its children (the relation column is address
). The child objects are referenced explicitly in the API call.
DataStoreFactory *dataStore = [Backendless.shared.data of:[Person class]];
[dataStore deleteRelationWithColumnName:@"address" parentObjectId:@"XXXXX" childrenObjectIds:@[@"YYYYY"] responseHandler:^(NSNumber *relations) {
NSLog(@"Relation has been removed");
} errorHandler:^(Fault *fault) {
NSLog(@"Error: %@", fault.message);
}];
let dataStore = Backendless.shared.data.of(Person.self)
dataStore.deleteRelation(columnName: "address", parentObjectId: "XXXXX", childrenObjectIds: ["YYYYY"], responseHandler: { relations in
print("Relation has been removed")
}, errorHandler: { fault in
print("Error: \(fault.message ?? "")")
})
MapDrivenDataStore *dataStore = [Backendless.shared.data ofTable:@"Person"];
[dataStore deleteRelationWithColumnName:@"address" parentObjectId:@"XXXXX" childrenObjectIds:@[@"YYYYY"] responseHandler:^(NSNumber *relations) {
NSLog(@"Relation has been removed");
} errorHandler:^(Fault *fault) {
NSLog(@"Error: %@", fault.message);
}];
let dataStore = Backendless.shared.data.ofTable("Person")
dataStore.deleteRelation(columnName: "address", parentObjectId: "XXXXX", childrenObjectIds: ["YYYYY"], responseHandler: { relations in
print("Relation has been removed")
}, errorHandler: { fault in
print("Error: \(fault.message ?? "")")
})
Codeless Reference¶
where:
Argument | Description |
---|---|
table name |
Name of the table where which contains the parent object as identified by parent object . |
parent object |
Id of the object for which the relation will be deleted. |
relation name |
Name of the column which identifies the relation within the parent table (identified as table name ). |
children |
Represents a list containing unique identifiers(objectIds ) of the children objects relations that must be deleted from the data table. |
return result |
When this box is checked, the operation returns the number of removed child objects relations. |
Returns the number of removed child objects relations.
Consider the first object with one-to-many relations(skills
column) in the parent data table called employees
:
By clicking the record (1:N Relations
) in the skills
column of the parent data table presented above, you get redirected to the child data table called uniqueSkills
, where you can see the related children objects:
Suppose you want to remove two relations. The following example demonstrates the removal of the Objective-C
and Javascript
relations from the parent object:
The objectId
values for each relation are:
-
Objective-C
:"4E205196-59B0-45A6-BACB-303A66BEFF22"
-
Javascript
:"D08FA6A7-4534-4B43-AF06-BC4CBFE54C60"
After the operation runs, the Objective-C
and Javascript
relations get deleted.