No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
Salesforce レコードの操作
Apex では、Salesforce レコードを簡単に操作できます。
sObject という用語は、Force.com に保存可能なオブジェクトを意味します。これは、標準オブジェクト (Account など) でも、ユーザが作成するカスタムオブジェクト (Merchandise オブジェクトなど) でもかまいません。
sObject 変数は、1 行のデータを表し、レコードとも呼ばれます。Apex でオブジェクトを操作するには、オブジェクトの SOAP API 名を使用して宣言します。次に例を示します。
1Account a = new Account();
2MyCustomObject__c co = new MyCustomObject__c();Apex でのレコードの操作についての詳細は、「Apex でのデータの操作」を参照してください。
次のコントローラ例では、更新された Account レコードを保持します。update メソッドには、サーバ側コントローラアクションとしてコールできるように @AuraEnabled アノテーションが付加されています。
1public class AccountController {
2
3 @AuraEnabled
4 public static void updateAnnualRevenue(String accountId, Decimal annualRevenue) {
5 Account acct = [SELECT Id, Name, BillingCity FROM Account WHERE Id = :accountId];
6 acct.AnnualRevenue = annualRevenue;
7 update acct;
8 }
9}JavaScript から Apex コードをコールする例については、「クイックスタート」を参照してください。
カスタムオブジェクトからのレコードデータの読み込み
Apex サーバ側コントローラを使用し、コンポーネントの属性にデータを設定して、レコードデータを読み込みます。次のサーバ側コントローラは、カスタムオブジェクト myObj__c のレコードを返します。
1public class MyObjController {
2
3 @AuraEnabled
4 public static List<MyObj__c> getMyObjects() {
5 return [SELECT id, name, myField__c FROM MyObj__c];
6 }
7}次のコンポーネント例では、上記のコントローラを使用して myObj__c カスタムオブジェクトからレコードのリストを返します。
1<aura:component controller="namespace.MyObjController"/>
2<aura:attribute name="myObjects" type="namespace.MyObj__c[]"/>
3<aura:iteration items="{!v.myObjects}" var="obj">
4 {!obj.name}, {!obj.namespace__myField__c}
5</aura:iteration>次のクライアント側コントローラでは、サーバ側コントローラの getMyObjects() メソッドをコールして、myObjects コンポーネントの属性をレコードデータで設定します。
1getMyObjects: function(component){
2 var action = component.get("c.getMyObjects");
3 action.setCallback(this, function(a){
4 component.set("v.myObjects", a.getReturnValue());
5 });
6 $A.enqueueAction(action);
7}コントローラを使用したレコードの読み込みと更新の例については、「クイックスタート」を参照してください。
標準オブジェクトからのレコードデータの読み込み
同様に、標準オブジェクトからレコードを読み込むことができます。次のサーバ側コントローラには、商談レコードのリストと個々の商談レコードを返すメソッドが含まれます。
1public class OpportunityController {
2
3 @AuraEnabled
4 public static List<Opportunity> getOpportunities() {
5 List<Opportunity> opportunities =
6 [SELECT Id, Name, CloseDate FROM Opportunity];
7 return opportunities;
8 }
9
10 @AuraEnabled
11 public static Opportunity getOpportunity(Id id) {
12 Opportunity opportunity = [
13 SELECT Id, Account.Name, Name, CloseDate,
14 Owner.Name, Amount, Description, StageName
15 FROM Opportunity
16 WHERE Id = :id
17 ];
18 return opportunity;
19 }
20}次のコンポーネント例では、上記のサーバ側コントローラを使用して商談レコードのリストを表示します。
コンポーネントの属性にレコードデータを設定するには、上記の例のようにクライアント側コントローラから getOpportunities() サーバ側コントローラをコールし、opportunities 属性を設定します。サーバ側コントローラメソッドのコール方法についての詳細は、サーバ側のアクションのコール を参照してください。1<aura:component controller="namespace.OpportunityController">
2 <aura:attribute name="opportunities" type="Opportunity[]"/>
3 <aura:iteration var="opportunity" items="{!v.opportunities}">
4 {!opportunity.Id} : {!opportunity.Name}
5 </aura:iteration>
6</aura:component>