Apex专家挑战1
创始人
2024-11-10 05:30:36
0

题目要求实现一个Apex类,在查询所有Opportunity时,根据Opportunity的CloseDate属性将Opportunity按时间顺序排列,并且在Opportunity与其关联的Account之间创建一个Lookup字段。

以下是代码示例:

public class OpportunityController {
    public static void createLookupFieldOnAccount() {
        // 创建Opportunity对Account的Lookup字段
        Schema.SObjectType opportunitySchema = Schema.getGlobalDescribe().get('Opportunity');
        Schema.SObjectField accountIdField = opportunitySchema.getDescribe().fields.getMap().get('AccountId');

        List accountSObjectTypeList = new List{Schema.Account.getSObjectType()};
        Schema.DescribeSObjectResult accountDescribeResult = accountSObjectTypeList[0].getDescribe();
        String accountSObjectApiName = accountDescribeResult.getName();
        String opportunitySObjectApiName = opportunitySchema.getDescribe().getName();
        String lookupFieldName = 'Account__c';

        if(accountDescribeResult.fields.getMap().get(lookupFieldName) == null) {
            Schema.SObjectField lookupField = Schema.SObjectType.Opportunity.fields.getMap().get(lookupFieldName);
            Schema.ReferenceFieldDefinition referenceField = new Schema.ReferenceFieldDefinition(opportunitySObjectApiName, lookupFieldName, opportunitySObjectApiName, accountIdField);
            referenceField.setRelationshipName('Opportunities');
            List fieldSetMembers = new List{new Schema.FieldSetMember('Opportunities', lookupFieldName)};
            accountDescribeResult.fields.getMap().get('Id').getDescribe().getFieldSets().get('Opportunities').add(fieldSetMembers);
        }
    }

    public static List getListOrderByCloseDate() {
        createLookupFieldOnAccount();

        // 查询所有Opportunity并按CloseDate升序排序
        return [SELECT Id, Name, CloseDate, AccountId, Account.Name FROM Opportunity ORDER BY CloseDate ASC];
    }
}

在代码中,我们首先通过Schema API自动创建Opportunity对Account的Lookup字段,然后在查询Opportunity时进行排序。最后,我们可以在Opportunity和关联的Account之间建立关联。

注意:为了在Op

相关内容

热门资讯

关于透视!wepoker好友房... 关于透视!wepoker好友房开挂,wepoker辅助插件功能,其实是真的有辅助技巧(哔哩哔哩)透视...
开挂透视!wpk模拟器,wpk... 开挂透视!wpk模拟器,wpk模拟器,都是存在有辅助app(哔哩哔哩)1、实时透视辅助更新:用户可以...
专业透视!如何下载德普之星辅助... 专业透视!如何下载德普之星辅助软件,德普之星app安卓版破解版,原来存在有辅助工具(哔哩哔哩)1、游...
必备透视!wpk透视插件,wp... 必备透视!wpk透视插件,wpk软件是正规的吗,真是一直都是有辅助插件(哔哩哔哩)1、免费辅助多个强...
教你透视!wpk控制牌是真的吗... 教你透视!wpk控制牌是真的吗,wpk透视是真的吗,确实是有辅助软件(哔哩哔哩);1、游戏颠覆性的策...
揭露透视!wepoker私人局... 揭露透视!wepoker私人局开挂视频,wepoker私局代打,一贯真的有辅助方法(哔哩哔哩)1、脚...
科普透视!wpk有那种辅助吗,... 科普透视!wpk有那种辅助吗,wpk透视是真的假的,确实是真的有辅助攻略(哔哩哔哩)1、透视辅助软件...
有挂透视!德普之星透视辅助软件... 有挂透视!德普之星透视辅助软件,德普软件,都是一直都是有辅助app(哔哩哔哩)1、每一步都需要思考,...
科普透视!wpk俱乐部有没有辅... 科普透视!wpk俱乐部有没有辅助,如何判断wpk辅助软件的真假,本来是真的有辅助攻略(哔哩哔哩)1、...
解迷透视!htx矩阵wepok... 解迷透视!htx矩阵wepoker辅助,wepoker有没有挂,其实一直都是有辅助脚本(哔哩哔哩)1...