ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entity.touched( )
|
entity.touched () -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
戻り値 | ブール |
![]() |
少なくとも一つのエンティティ属性が編集されていてまだ保存されていない場合にtrue、それ以外の場合にはfalse | |||||
entity.touched( ) メソッドは、エンティティがメモリに読み込まれてから、あるいは保存されてから、エンティティ属性が変更されたかどうかをテストします。
属性が変更あるいは計算されていた場合、メソッドはtrue を返し、それ以外の場合にはfalse を返します。このメソッドを使用することで、エンティティを保存する必要があるかどうかを決めることができます。
このメソッドは(dataClass.new( )で作成された)新規エンティティに対しては常に false を返します。ただし、エンティティの属性を計算するメソッドを使用した場合には、entity.touched( ) メソッドは true を返します。例えば、プライマリーキーを計算するためにentity.getKey( ) を呼び出した場合、entity.touched( ) メソッドは true を返します。
以下の例題では、エンティティを保存する必要があるかどうかをチェックします:
C_OBJECT($emp)
$emp:=ds.Employee.get(672)
$emp.firstName:=$emp.firstName // 同じ値で更新されたとしても、属性は触れられた、と判定されます
If($emp.touched()) // 少なくとも一つの属性が変更されていた場合
$emp.save()
End if // そうでない場合はエンティティを保存する必要なし
プロダクト: 4D
テーマ: ORDA - エンティティ
初出: 4D v17
ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)