美文网首页
2020-11-13找到所有以Account为Master关系的

2020-11-13找到所有以Account为Master关系的

作者: 古月的小七 | 来源:发表于2020-11-13 10:05 被阅读0次

    How to get list of Objects Master detail with account? 这个问题未完待续
    参考自:How to get list of Objects Master detail with account. 但下述这个方法拿到的是系统内的所有Object,需要自己做一遍筛选。
    PS: 即使是Lookup关系,isCascadeDelete 字段为true的时候,在Account删除时,该Object也是会被删除的

    //this example describes the Account sObject
        Schema.DescribeSObjectResult R = Account.SObjectType.getDescribe(); //the master object. In this scenario it is Account
        List<Schema.ChildRelationship> C = R.getChildRelationships();
        Set<Schema.SObjectType> childNameList = new Set<Schema.SObjectType>();
        Integer countDetailObjectsRelatedToMaster= 0; 
        String childName;
        for( Schema.ChildRelationship sc :c){
            if(sc.isCascadeDelete()){ //this means it is master-detail
                if (sc.getRelationshipName() != null){
                    countDetailObjectsRelatedToMaster++;  
                    System.debug('getChildSObject: ' + sc.getChildSObject());
                    System.debug('getField: ' + sc.getField());
                    System.debug('getRelationshipName: ' + sc.getRelationshipName());
                    System.debug('isRestrictedDelete(): ' + sc.isRestrictedDelete());
                }
        }
        }
        System.debug('countDetailObjectsRelatedToMaster: '+countDetailObjectsRelatedToMaster);
    

    附上另一篇文章:Guidelines for Deleting Accounts
    对于Lookup字段,我们目前有2个选项,如果想Enable Cascade Delete需要联系Salesforce启用,默认是Disable的,参考下图:

    image.png
    image.png

    相关文章

      网友评论

          本文标题:2020-11-13找到所有以Account为Master关系的

          本文链接:https://www.haomeiwen.com/subject/qtkvbktx.html