entitySelection.and( ) メソッドは、エンティティセレクションとentity あるいは entitySelection 引数をAND 論理演算子を使用して結合します。メソッドは、エンティティセレクションと引数の両方から参照されているエンティティのみを格納する、新しい順列なしのエンティティセレクションを返します。
- entity を引数として渡した場合、このエンティティをエンティティセレクションと結合させることになります。エンティティがエンティティセレクションに属している場合、そのエンティティのみを格納する新しいエンティティセレクションが返されます。そうでない場合、空のエンティティセレクションが返されます。
- entitySelection を引数として渡した場合、二つのエンティティセレクションを結合させることになります。両方のセレクションから参照されているエンティティのみを格納する新しいエンティティセレクションが返されます。重複するエンティティがなかった場合、空のエンティティセレクションが返されます。
注: エンティティセレクションは順列ありのものと順列なしのものを比較することができます。返されるセレクションは常に順列なしのものになります。詳細な情報については、4D Developer Guide のエンティティセレクションの順列あり/順列なし の段落を参照してください。
元のエンティティセレクションあるいはentitySelection 引数が空であった場合、あるいはentity 引数がNull であった場合、空のエンティティセレクションが返されます。
元のエンティティセレクションおよび引数が同じデータクラスにリレートしていなかった場合、エラーが返されます。
C_OBJECT($employees1;$employee;$result)
$employees1:=ds.Employee.query("lastName = :1";"H@")
$employee:=ds.Employee.get(710)
$result:=$employees1.and($employee)
"Jones" という名前を持ち、New York に住んでいる従業員のセレクションを取得したい場合を考えます:
C_OBJECT($sel1;$sel2;$sel3)
$sel1:=ds.Employee.query("name =:1";"Jones")
$sel2:=ds.Employee.query("city=:1";"New York")
$sel3:=$sel1.and($sel2)