ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.extract( )
|
entitySelection.extract ( propertyPath {; targetPath}{; propertyPath2 ; targetPath2 ; ... ; propertyPathN ; targetPathN}{; option}) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
propertyPath | テキスト |
![]() |
返されるコレクションに取得したい値のプロパティパス | |||||
targetPath | テキスト |
![]() |
ターゲットプロパティパスまたはプロパティ名 | |||||
option | 倍長整数 |
![]() |
ck keep null: 返されるコレクションの中にnull プロパティを含めます(デフォルトでは無視されます)。この引数はtargetPath が渡されていた場合には無視されます。 | |||||
戻り値 | コレクション |
![]() |
取得された値を格納したコレクション | |||||
entitySelection.extract( ) メソッドは、propertyPath 引数で指定した値をエンティティセレクションから取得し、その値を格納したコレクションを返します。
propertyPath では、以下のものを指定することができます:
propertyPath 引数が無効だった場合、空のコレクションが返されます。
このメソッドは2種類のシンタックスを受け入れます。
このシンタックスを使用すると、entitySelection.extract( ) はエンティティセレクションの中の、propertyPath 引数で指定した値のコレクションを作成して返します。
デフォルトで、propertyPath で指定した値がnull または未定義のエンティティは返されるコレクション内では無視されます。option 引数にck keep null 定数を渡すことで、これらの値を、返されたコレクション内にnull 要素として含めるようにすることができます。
このシンタックスを使用すると、entitySelection.extract( ) は引数で指定したpropertyPath プロパティを持つコレクションを作成し返します。このコレクションのそれぞれの要素は、targetPath 引数のプロパティと、対応するpropertyPath 引数のプロパティを格納したオブジェクトです。Null 値は保持されます(option 引数はこのシンタックスでは無視されます)。
複数のpropertyPath 引数が渡された場合、それぞれに対してtargetPath 引数を渡す必要があります。有効な[propertyPath 、 targetPath]のペアのみが取得されます。
注: []記法を使用してアクセスしたエンティティのコレクションのエンティティは、データベースからは再読み込みはされません。
以下のテーブルとリレーションが与えられている場合を考えます:
C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
C_OBJECT($status)
//
//
//$firstnames は文字列のコレクション
$firstnames:=ds.Teachers.all().extract("firstname")
//
//$addresses はデータクラス属性にリレートされたエンティティのコレクション
//address のNull 値は取得・保持されます
$addresses:=ds.Teachers.all().extract("address";ck keep null)
//
//
//$mailing は"who" および "to"のプロパティを持つオブジェクトのコレクション
//"who" プロパティの中身は文字列型
//"to" プロパティの中身はエンティティ型(Address データクラス)
$mailing:=ds.Teachers.all().extract("lastname";"who";"address";"to")
//
//
//$mailing は"who" および "city" のプロパティを持つオブジェクトのコレクション
//"who" プロパティの中身は文字列型
//"city" プロパティの中身は文字列型
$mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
//
//$teachers は"where" および "who" のプロパティを持つオブジェクトのコレクション
//"where" プロパティの中身は文字列型
//"who" プロパティの中身はエンティティセレクション(Teachersデータクラス)
$teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
//
//$teachers はエンティティセレクションのコレクション
$teachers:=ds.Address.all().extract("teachers")
プロダクト: 4D
テーマ: ORDA - エンティティセレクション
初出: 4D v18 R3
ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)