entitySelection.minus( ) メソッドは適用したエンティティセレクションから、entity 引数のエンティティ、あるいはentitySelection 引数のエンティティセレクションのエンティティを除外し、結果のエンティティセレクションを返します。
- entity を引数として渡した場合、メソッドは(entity 引数が元のエンティティセレクションに所属していた場合)entity 引数を除外した新しいエンティティセレクションを作成します。引数が元のエンティティセレクションに含まれていなかった場合、元のエンティティセレクションへの新しい参照が返されます。
- entitySelection を引数として渡した場合、メソッドは、元のエンティティセレクションから、entitySelection 引数に所属しているエンティティセレクションを除外したエンティティを格納するエンティティセレクションを返します。
注: 順列ありのエンティティセレクションと、順列なしのものとを比較することができます。返されるセレクションは常に順列なしのものが返されます。詳細な情報については、4D Developer Guide のエンティティセレクションの順列あり/順列なし の段落を参照してください。
元のエンティティセレクション、あるいは元のエンティティセレクションと引数の両方が空であった場合、空のエンティティセレクションが返されます。
entitySelection 引数が空、あるいはentity 引数がNull であった場合、元のエンティティセレクションへの新しい参照が返されます。
元のエンティティセレクションと渡した引数が同じデータクラスに所属していない場合、エラーが生成されます。
C_OBJECT($employees;$employee;$result)
<p>
$employees:=ds.Employee.query("lastName = :1";"H@")
$employee:=ds.Employee.get(710)
$result:=$employees.minus($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).minus(ds.Employee.query("gender='male'"))