Apex sObject を使って対象オブジェクトの全項目を取得する
環境
Salesforce
構文
1.SObjectField クラス
Schema.sObjectField オブジェクトは、getController および getSObjectField メソッドを使用して
Field Describe Result から返されます。
getDescribe()
この項目の Describe Field Result を返します。
2.fields
fields の後には項目メンバー変数名または getMap メソッドが続きます。
型: 戻り値は特殊なデータ型です。
使用例
1.対象オブジェクトの全項目を取得するメソッドの定義
public static List<String> getAllFieldList(Schema.SObjectType sObjectType) {
//対象オブジェクトの全項目のリストの取得
List<String> fieldList = new List<String>();
//オブジェクトのMap宣言
Map<String, Schema.sObjectField> sObMp = sObjectType.getDescribe().fields.getMap();
// Map要素の結果をループ出力
for(String fieldName : sObMp.keySet())
{
//リストに項目名を追加
fieldList.add(fieldName);
}
return fieldList
}
public static List<String> getAllFieldList(Schema.SObjectType sObjectType) {
//対象オブジェクトの全項目のリストの取得
List<String> fieldList = new List<String>();
//オブジェクトのMap宣言
Map<String, Schema.sObjectField> sObMp = sObjectType.getDescribe().fields.getMap();
// Map要素の結果をループ出力
for(String fieldName : sObMp.keySet())
{
//リストに項目名を追加
fieldList.add(fieldName);
}
return fieldList
}
public static List<String> getAllFieldList(Schema.SObjectType sObjectType) { //対象オブジェクトの全項目のリストの取得 List<String> fieldList = new List<String>(); //オブジェクトのMap宣言 Map<String, Schema.sObjectField> sObMp = sObjectType.getDescribe().fields.getMap(); // Map要素の結果をループ出力 for(String fieldName : sObMp.keySet()) { //リストに項目名を追加 fieldList.add(fieldName); } return fieldList }
2.使い方
リストの取得
List<String>fieldList =クラス名.getAllFieldLis(xxx__c.SOBjects);