Salesforce 引用自定义字段id

Salesforce 引用自定义字段id,salesforce,apex,custom-object,Salesforce,Apex,Custom Object,我有两个自定义对象,Category和Case,我将Category设置为父对象。类别中的列类别\u ID由自定义对象大小写引用。我在开发者控制台中执行了两个查询 从类别中选择类别、ID、名称 从案例中选择类别、ID、名称 我发现在Case中Category_ID的值类似于'a0D'f00001mmyuae'和'a0D'f00001mmyude',但在Category中它是'0'和'1' VisualPage <apex:outputLabel value="Categ

我有两个自定义对象,Category和Case,我将Category设置为父对象。类别中的列类别\u ID由自定义对象大小写引用。我在开发者控制台中执行了两个查询

从类别中选择类别、ID、名称 从案例中选择类别、ID、名称 我发现在Case中Category_ID的值类似于'a0D'f00001mmyuae'和'a0D'f00001mmyude',但在Category中它是'0'和'1'

VisualPage

          <apex:outputLabel value="Category" />  
             <apex:selectList value="{!categoryType}" size="1">
             <apex:selectOptions value="{!items}"/>
             </apex:selectList>             

             <apex:outputLabel value="Case" />  
               <apex:selectList value="{!caseId}" size="1">
               <apex:selectOptions value="{!items2}"/>
             </apex:selectList>   


//From here is Controller


   public String categoryType{set;get;}

   public List<SelectOption> getItems(){
        List<selectoption> mlst = new List<selectoption>();
        for(VirtualCaseCategory__c m: [SELECT Category_ID__c, Name FROM VirtualCaseCategory__c]){
            mlst.add(new selectoption(m.Id,m.Name));
        }
        return mlst;
    }  
     public List<SelectOption> getItems2(){
        List<selectoption> mlst = new List<selectoption>();

        for(VirtualCaseCases__c m: [SELECT Category_ID__c, Name FROM VirtualCaseCases__c WHERE Category_ID__c =:categoryType]){
            mlst.add(new selectoption(m.Id,m.Name));
        }
        return mlst;
    } 

//这里是控制器
公共字符串类别类型{set;get;}
公共列表getItems(){
List mlst=新列表();
for(VirtualCaseCategory\uuuu c m:[从VirtualCaseCategory\uu c中选择类别\u ID\uuu c、名称]){
mlst.add(新选择选项(m.Id,m.Name));
}
返回mlst;
}  
公共列表getItems2(){
List mlst=新列表();
对于(VirtualCases\uuuuC m:[选择类别\u ID\uuuuC,名称来自VirtualCases\uuuC,其中类别\u ID\uuuuuuC=:categoryType]){
mlst.add(新选择选项(m.Id,m.Name));
}
返回mlst;
} 
我想根据所选的
Category\u ID
值获得不同的案例选择列表。
谁能告诉我为什么?因为我想基于相同的
Category\u ID
值运行一些查询。

我认为您没有使用
for
循环在
selectList
中添加
Category\u ID\u c

for(VirtualCaseCategory__c m: [SELECT Category_ID__c, Name FROM VirtualCaseCategory__c]){
            // insert Category_ID__c in the select option
            mlst.add(new selectoption(m.Category_ID__c,m.Name));
        }
其他
for
循环的情况也是如此

for(VirtualCaseCases__c m: [SELECT Category_ID__c, Name FROM VirtualCaseCases__c WHERE Category_ID__c =:categoryType]){
            // Same here as well
            mlst.add(new selectoption(m.Category_ID__c,m.Name));
        }