Triggers Salesforce-触发器-删除对象

Triggers Salesforce-触发器-删除对象,triggers,salesforce,apex-code,Triggers,Salesforce,Apex Code,大家好,代码爱好者们,我正在尝试学习apex代码,但遇到了一个问题。因为你们中的大多数人都是代码爱好者,对解决问题很感兴趣,所以我想我可以逐个解决问题 我试图在名为Book的对象上创建触发器,该对象执行以下操作: 删除时,所有相关章节也将被删除 还有一个名为Chapter的对象,它具有要预订的查找 这是我的尝试。这是我第一次尝试apex,请耐心等待。有人愿意涉猎这段代码吗 trigger DeleteChaptersTrigger on Book__c (before delete) { L

大家好,代码爱好者们,我正在尝试学习apex代码,但遇到了一个问题。因为你们中的大多数人都是代码爱好者,对解决问题很感兴趣,所以我想我可以逐个解决问题

我试图在名为Book的对象上创建触发器,该对象执行以下操作: 删除时,所有相关章节也将被删除 还有一个名为Chapter的对象,它具有要预订的查找

这是我的尝试。这是我第一次尝试apex,请耐心等待。有人愿意涉猎这段代码吗

 trigger DeleteChaptersTrigger on Book__c (before delete) {
 List<Book__c> book = Trigger.old;
 List<Chapter__c> chapters = new List<Chapter__c>();
 Set set = new Set();

  for (Book__c b :books){
  if ()
   }
 }
在Book_uu_uC上触发DeleteChaptersTrigger(删除前){
List book=Trigger.old;
列表章节=新列表();
集合=新集合();
用于(书籍c b:书籍){
如果()
}
}

由于您拥有完全控制权,我建议更改自定义对象之间的关联方式

没有书,章节就没有意义/价值,因此我们想改变两者之间的关系


删除章节对象上的查找,并将其替换为主详细信息。删除主记录时,Salesforce会自动删除与详细信息相关的记录。这就是您想要的,无需编码。

由于您拥有完全的控制权,我建议更改自定义对象之间的关联方式

没有书,章节就没有意义/价值,因此我们想改变两者之间的关系


删除章节对象上的查找,并将其替换为主详细信息。删除主记录时,Salesforce会自动删除与详细信息相关的记录。这就是您想要的,不需要编码。

您需要编写所有触发器,并考虑到触发器可能在任何时候处理多个记录,因此您需要

您希望获取将被删除的所有记录ID。使用
oldmap
上的
keyset
方法获取此信息,而无需循环并创建自己的收藏。然后您可以删除查询返回的记录

trigger DeleteChaptersTrigger on Book__c (before delete) {
    Set<string> bookids = Trigger.oldMap.keyset();
    delete [SELECT Id FROM Chapter__c WHERE Book__c IN :bookids];     
}
在Book_uu_uC上触发DeleteChaptersTrigger(删除前){
Set bookids=Trigger.oldMap.keyset();
删除[从章节c中选择Id,其中书籍c位于:BookID];
}

Apex代码与其他语言不同,在其他语言中,它与重用使用过的单词(如set作为变量名)相混淆。Apex也不区分大小写。

您需要编写所有触发器,同时考虑到触发器可能同时处理多个记录,因此需要

您希望获取将被删除的所有记录ID。使用
oldmap
上的
keyset
方法获取此信息,而无需循环并创建自己的收藏。然后您可以删除查询返回的记录

trigger DeleteChaptersTrigger on Book__c (before delete) {
    Set<string> bookids = Trigger.oldMap.keyset();
    delete [SELECT Id FROM Chapter__c WHERE Book__c IN :bookids];     
}
在Book_uu_uC上触发DeleteChaptersTrigger(删除前){
Set bookids=Trigger.oldMap.keyset();
删除[从章节c中选择Id,其中书籍c位于:BookID];
}

Apex代码与其他语言不同,在其他语言中,它与重用使用过的单词(如set作为变量名)相混淆。Apex也不区分大小写。

您对帐户及其设计/设置有完全控制权吗?@GerardSexton是的,我有。您对帐户及其设计/设置有完全控制权吗?@GerardSexton是的,我有。@Gerald Sexton我实际上在做一个练习。然后,这些信息会影响答案的类型。@Gerald Sexton我实际上在做一个练习。它要求进行查找。那么,这些信息会影响可以给出的答案的类型。+1但在这样绑定时,您不需要密钥集,您可以绑定集合,它将自动转换为ID集合:)@eyescream噢,这是自动转换吗?所以
delete[从章节c中选择Id,其中Book_uuuuC位于:Trigger.old]
也是有效的?是:)并搜索“IN bind”+1,但绑定时不需要密钥集,您可以绑定集合,它将自动转换为ID集合:)@eyescream噢,这是自动转换吗?所以
delete[从章节c中选择Id,其中Book_uuuuC位于:Trigger.old]也有效?是:)并搜索“绑定中”