Thanks - I had tested using isDirty() but used 0 as the test id so assumed it didn't work.
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chris Blackwell Sent: Wednesday, February 13, 2008 1:23 AM To: [email protected] Subject: Re: [Reactor for CF] NoMatchingRecord <cfset user = ormService.createRecord("user")> <cfset user.load(UserId=1)> <cfif m.isDirty()> failed, user does not exist <cfelse> success </cfif> After a successful load the record will be cleaned, ie the current To will be copied to the InitialTo, so isDirty will return false, this only happens if load matches a record in the db. The only gotcha with this is the default value for UserID is normally 0 (zero) so user.load(UserId=0) will cause isDirty() to return false, but you just have to check for that case wherever you create your records. Alternatively user.exists() will tell you whether a user with that id exists in the db, but will cost you another query. Chris On 2/13/08, Simon Stanlake <[EMAIL PROTECTED]> wrote: When I call load() on a record and no match is found in the database there is no exception thrown or (as far as I can tell) method to determine if the record I now have is actually a record in the database. For example if I do... <cfset user = ormService.createRecord("user")/> <cfset user.setUserid(1)/> <cfset user.load()/> ... and there's no user record with userid=1, I'm left with a user object that has a userid of 1 and "" for the rest of it's properties. How do I determine the difference between this and a real user record with userid=1? I can see that the DAO uses the Gateway to get a query, and will throw a NoMatchingRecord exception if the resultset has 0 records. However this exception is caught in the abstractRecord.load() method. Maybe there is an architectural detail I'm missing as to why you would want to hide a NoMatchingRecord exception from the caller. Thanks - Simon -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Reactor for ColdFusion Mailing List [EMAIL PROTECTED] Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Reactor for ColdFusion Mailing List [EMAIL PROTECTED] Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Reactor for ColdFusion Mailing List [EMAIL PROTECTED] Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
