ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.{attributeName}
|
entitySelection.{attributeName} -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
戻り値 | コレクション, 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 v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)