ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v19.8
collection.query( )

collection.query( ) 


 

collection.query ( queryString {; value}{; value2 ; ... ; valueN}{; querySettings}) -> 戻り値 
引数   説明
queryString  テキスト in クエリ引数
value  Mixed in プレースホルダーを使用する際に比較する値
querySettings  オブジェクト in クエリオプション: parameters, attributes
戻り値  コレクション in コレクション内でクエリ引数に合致した要素

説明   

collection.query( ) ファンクションはqueryString 引数およびvaluequerySettings 引数(任意)で定義された検索条件に合致するオブジェクトのコレクションの要素を全て返します。元のコレクションが共有コレクションだった場合、返されるコレクションもまた共有コレクションになります。

注: このファンクションは元のコレクションは変更しません。

queryString 引数は、以下のシンタックスを使用します:

propertyPath comparator value {logicalOperator propertyPath comparator value}

queryString および valuequerySettings 引数を使用してクエリをビルドするための詳細な情報については、dataClass.query( ) メソッドの詳細を参照してください。

 C_COLLECTION($c)
 $c:=New collection
 $c.push(New object("name";"Cleveland";"zc";35049))
 $c.push(New object("name";"Blountsville";"zc";35031))
 $c.push(New object("name";"Adger";"zc";35006))
 $c.push(New object("name";"Clanton";"zc";35046))
 $c.push(New object("name";"Clanton";"zc";35045))
 $c2:=$c.query("name = :1";"Cleveland") //$c2=[{name:Cleveland,zc:35049}]
 $c3:=$c.query("zc > 35040") //$c3=[{name:Cleveland,zc:35049},{name:Clanton,zc:35046},{name:Clanton,zc:35045}]

 C_COLLECTION($c)
 $c:=New collection
 $c.push(New object("name";"Smith";"dateHired";!2002-05-22!;"age";45))
 $c.push(New object("name";"Wesson";"dateHired";!2017-11-30!))
 $c.push(New object("name";"Winch";"dateHired";!2018-05-16!;"age";36))
 $c.push(New object("name";"Sterling";"dateHired";!1999-05-10!;"age";Null))
 $c.push(New object("name";"Mark";"dateHired";!2002-01-01!))

上記のオブジェクトに対し、以下の例題は名前に"in" が含まれている人物を返します:

 $col:=$c.query("name = :1";"@in@")
  //$col=[{name:Winch...},{name:Sterling...}]

以下の例題は名前が変数の文字列(ユーザーが入力した文字列など)から始まらない人物を返します:

 $col:=$c.query("name # :1";$aString+"@")
  //$astring="W" であったら、
  //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}]

以下の例題は年齢が不明な(プロパティが null あるいは undefined に設定されている)人物を返します:

 $col:=$c.query("age=null") //"null" ではプレースホルダーは使えません
  //$col=[{name:Wesson...},{name:Winch...},{name:Sterling...},{name:Mark...}]

以下の例題は採用から90日を超えている人物を返します:

 $col:=$c.query("dateHired < :1";(Current date-90))
  //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}]

注: この最後の例題は"オブジェクトではISO日付フォーマットの代わりに日付型を使用する"互換性オプションがチェックされている必要があります(互換性ページを参照してください)。

他のクエリの例については、dataClass.query( ) のページを参照してください。



参照 

collection.indices( )
dataClass.query( )
entitySelection.query( )

 
プロパティ 

プロダクト: 4D
テーマ: コレクション
番号: 805267

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v16 R6
変更: 4D v17 R5

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)