| 4D v18entitySelection.{attributeName} | |||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 entitySelection.{attributeName} 
         | ||||||||||||||||||||||||||||||||||||||||||||||
| 引数 | 型 | 説明 | ||||||
| entitySelection.{attributeName} | Collection, EntitySelection |   | エンティティセレクションに対しての属性値の投影 | |||||
どのデータクラス属性も、そのエンティティセレクションのプロパティを使用して、エンティティセレクション内のプロパティの値の"投影"を返すことができます。返される値は、属性の種類(ストレージあるいはリレーション)によって、コレクションあるいは新しいエンティティセレクションのどちらかになります。
リレーション属性がエンティティセレクションの属性として使用された場合、エンティティが一つしか返されないとしても、結果は常に他のエンティティセレクションになります。この場合、エンティティが何も返されない場合、結果は空のエンティティセレクションになります。
注: 属性の種類についての詳細な情報については、dataClassAttribute.kind のプロパティの詳細を参照してください。
属性がエンティティセレクション内に存在しない場合、エラーが返されます。
ストレージ値の投影:
 C_COLLECTION(firstNames)
 $entitySelection:=ds.Employee.all()
 firstNames:=$entitySelection.firstName // firstName は文字列型です返されるコレクションは文字列のコレクションとなります。例:
[ "Joanna", "Alexandra", "Rick" ]
リレートエンティティの投影:
 C_OBJECT($es;$entitySelection)
 $entitySelection:=ds.Employee.all()
 $es:=$entitySelection.employer // employer はCompany データクラスにリレートされています返されるオブジェクトは、重複してるもの(あれば)を取り除いた、Company のエンティティセレクションになります。
リレートエンティティズ型の投影:
 C_OBJECT($es)
 $es:=ds.Employee.all().directReports // directReports はEmployee データクラスにリレートされています返されるオブジェクトは、重複してるもの(あれば)を取り除いた、Employee のエンティティセレクションになります。
	プロダクト: 4D
	テーマ: ORDA - エンティティセレクション
	
        
        
	
	初出: 4D v17
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加