Actually, I've been tinkering around with just those thoughts. I have concluded that 'deleteByFields()' implemented in reactor/ projects/MYOBJECTGateway.cfc would do exactly what I want, is a bit more guarded and be VERY easy to implement. Right now I am just copying it to the necessary classes in my local reactor directory and changing them manually.

NOTE: this code is only useful when the object has been identified as a 'link' table in a many-to-many relationship, where the two (or more) optional arguments are the two (or more) foreign keys from the link table. I use this a lot when implementing a "delete-all and re- insert" save pattern for the many-to-many relationship. documentrole is a table containing only two attributes, documentid and roleid which are foreign keys to documents and roles, respectively. For clarity, I took out all the try-catch/transaction code.

<cffunction name="deleteByFields" access="public" hint="I delete all matching rows from the documentrole table." output="false" returntype="void">
                
<cfargument name="documentid" hint="If provided, I match the provided value to the documentid field in the documentrole object." required="no" type="string" />
                
<cfargument name="roleid" hint="If provided, I match the provided value to the roleid field in the documentrole object." required="no" type="string" />
                
                
<cfquery datasource="#_getConfig().getDsn()#" username="#_getConfig ().getUsername()#" password="#_getConfig().getPassword()#">
                        DELETE FROM
                         documentrole
                        WHERE
                        <cfif IsDefined('arguments.documentid')>
documentrole.documentid = <cfqueryparam cfsqltype="cf_sql_varchar" maxlength="35" value="#arguments.documentid#" />
                        </cfif>
                        <cfif IsDefined('arguments.roleid')>
documentrole.roleid = <cfqueryparam cfsqltype="cf_sql_varchar" maxlength="35" value="#arguments.roleid#" />
                        </cfif>
                </cfquery>
        </cffunction>




On Mar 9, 2006, at 11:45 AM, Doug Hughes wrote:

Sorry, I was looking for something using reactor objects.  IE:

I'd like the syntax for this to look like this:

*code Example*

And this means....

Etc, etc.

Doug

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter
Bell
Sent: Thursday, March 09, 2006 2:19 PM
To: [email protected]
Subject: RE: [Reactor For CF] why is there no "deleteByQuery" in
abstractgateway?

Delete from #table# Where #Filter# is how we do it. Table is known by
object, so you just pass filter. It does require knowledge of the object
properties, but we store that in the #EntityName#Service, so it's OK.

We also have a deletebyqueryimplications() which will return the captions for any cascading deletes if you implement that (for composition to avoid orphans) so you can tell people what you'll be doing before they do it.

Best Wishes,
Peter


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Doug
Hughes
Sent: Thursday, March 09, 2006 2:13 PM
To: [email protected]
Subject: RE: [Reactor For CF] why is there no "deleteByQuery" in
abstractgateway?


How would this function?  Can you provide some pseudocode?

Doug

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David A.
Cheslow PhD
Sent: Thursday, March 09, 2006 1:40 PM
To: [email protected]
Subject: [Reactor For CF] why is there no "deleteByQuery" in
abstractgateway?

The subject says it all.  Seems to me that a deleteByQuery() would be
pretty handy (and easy to add) right there.  Or have I missed
something very obvious?

=dave=



-- 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/





-- 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/


Reply via email to