Apex  sObject を使って対象オブジェクトの全項目を取得する

環境
Salesforce

構文
1.SObjectField クラス
Schema.sObjectField オブジェクトは、getController および getSObjectField メソッドを使用して
Field Describe Result から返されます。

getDescribe()
この項目の Describe Field Result を返します。

2.fields
fields の後には項目メンバー変数名または getMap メソッドが続きます。
型: 戻り値は特殊なデータ型です。

使用例
1.対象オブジェクトの全項目を取得するメソッドの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);

Apex

Posted by arkgame