私は次のようにentityLoadを呼び出しています:
currentSubmission = entityload("EventSubmission", { eventID = variables.eventID, profileID = variables.profileID, true }
entityLoadがレコードを返したかどうかを確認するにはどうすればよいですか?filtercriteriaに一致するものがある場合、オブジェクトが返されます。一致するものがない場合、何も返されず、変数currentSubmissionは存在しません。
私が見つけている問題は、私が使用する場合:
a。isObject(currentSubmission)は、currentSubmissionが存在しないため、何も返されない場合にエラーを出します。
b。isDefined(currentSubmission)は、オブジェクトに対してisDefinedを実行できないため、何かが返されたときにエラーを出します。
つまり、問題は、entityLoadが結果を返したかどうかを判断するためにどのメソッドを使用する必要があるかということです。
これが私がまとめようとしている完全な方法です。基本的に、いくつかのフィルター基準に基づいてエンティティをロードして返します。一致するエンティティがない場合は、新しい空のエンティティを返します。
public function getByEventProfile(){
currentSubmission = entityload("EventSubmission", { eventID = variables.eventID, profileID = variables.profileID }, true);
if (!isObject(currentSubmission))
currentSubmission = entityNew("EventSubmission");
return currentSubmission;
}