Further to my email below I have discovered something even more strange. I
have pulled as much of the call to the Order Contents gateway out into a
display fuse (fb) . It throws the same error but at the bottom of the
queries that have been run is the following query:
qGet (Datasource=spharm, Time=13ms, Records=3) in
/Applications/ColdFusion8/wwwroot/reactor/base/abstractGateway.cfc @
17:23:17.017
DELETE FROM
`ordercontents`
WHERE `orderid` = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 16315
So why is Reactor delete the ordercontents? I have a deleteOrder method as
follows:
<cffunction name="deleteOrder" access="public" returntype="void">
<cfargument name="orderid" type="numeric" required="false"
default="0" />
<cfset var orderRecord = getOrderByID(orderid=arguments.orderid)
/>
<cfset orderRecord.delete() />
<cfset getOrderContentsGateway().deleteByFields(orderid=arguments.orderid)
/>
<cfset getOrderPaymentsGateway().deleteByFields(orderid=arguments.orderid)
/>
<cfset getOrderPatientsGateway().deleteByFields(orderid=arguments.orderid)
/>
<cfset getOrderHistoryGateway().deleteByFields(orderid=arguments.orderid)
/>
</cffunction>
but this is only called by my remoteOrderFacade cfc which is only called on
a different page from the above.
This is the method in my OrderService cfc that I am calling:
<cffunction name="getOContents" access="public" returntype="query"
output="false">
<cfargument name="orderid" type="numeric" required="false"
default="0" />
<cfreturn getOrderContentsGateway().getByFields(orderid=arguments.orderid)
/>
</cffunction>
I am passing the orderid via the url.
Curiouser and curiouser...
Cheers,
Dave
So why is reactor deleting the order contents when all I am calling is a
getByFields method in the ordercontentsgateway? I have cleared the
application scope and tried it several times (I even restarted cf).
On Tue, 23 Oct 2007 16:03:36 +0000
"David Phipps" <[EMAIL PROTECTED]> wrote:
Hi,
I am running into a strange error with one of my (reactor) gateways.
I am trying to call a getByFields method for records matching the
passed in orderid but all it returns is an error:
Variable QGET is undefined.
The error occurred in
/Applications/ColdFusion8/wwwroot/reactor/base/abstractGateway.cfc:
line 99
Called from
/Applications/ColdFusion8/wwwroot/reactor/project/pharmacy/Gateway/ordercontentsGateway.cfc:
line 61
Called from
/Applications/ColdFusion8/wwwroot/pharmacy/com/OrderService.cfc: line
31
...
97 : <cfset setLastExecutedQuery(queryData) />
98 :
99 : <cfreturn qGet />
100 : </cffunction>
101 :
The code that I am using (fusebox + coldspring):
<invoke object="application.serviceFactory.getBean('OrderService')"
methodcall="getOrderContents(orderid=attributes.orderid)"
returnvariable="qOrderContents" />
which is calling this method in my OrderService cfc:
<cffunction name="getOrderContents" access="public"
returntype="query" output="false">
<cfargument name="orderid" type="numeric" required="false"
default="0" />
<cfreturn
getOrderContentsGateway().getByFields(orderid=arguments.orderid) />
</cffunction>
and from my coldspring config:
<bean id="OrderService" class="pharmacy.com.OrderService">
<property name="reactorFactory">
<ref bean="reactorFactory" />
</property>
<property name="orderGateway">
<ref bean="orderGateway" />
</property>
<property name="ordercontentsGateway">
<ref bean="ordercontentsGateway" />
</property>
<property name="orderpaymentsGateway">
<ref bean="orderpaymentsGateway" />
</property>
<property name="orderpatientsGateway">
<ref bean="orderpatientsGateway" />
</property>
<property name="orderhistoryGateway">
<ref bean="orderhistoryGateway" />
</property>
<property name="MailService">
<ref bean="MailService" />
</property>
<property name="sessionFacade">
<ref bean="sessionFacade" />
</property>
</bean>
<bean id="ordercontentsGateway" factory-bean="reactorFactory"
factory-method="createGateway">
<constructor-arg name="objectAlias">
<value>ordercontents</value>
</constructor-arg>
</bean> ...
and finally my reactor config:
<object name="orders">
<hasOne name="customer">
<relate to="customerid" from="customerid" />
</hasOne>
<hasMany name="ordercontents">
<relate to="orderid" from="orderid"/>
</hasMany>
<hasMany name="orderpayments">
<relate to="orderid" from="orderid"/>
</hasMany>
<hasMany name="orderpatients">
<relate to="orderid" from="orderid"/>
</hasMany>
<hasMany name="orderhistory">
<relate to="orderid" from="orderid"/>
</hasMany>
</object>
<object name="ordercontents">
<hasOne name="orders">
<relate to="orderid" from="orderid"/>
</hasOne>
<hasOne name="product">
<relate from="productid" to="productid" />
</hasOne>
</object>
I can't for the life of me work out why it is throwing an error like
this and I can't seem to figure out how to fix it.
Anyone seen this error before or know how to fix - probably
something I have done wrong rather than a bug.
Cheers,
Dave
_______________________________________________________________________
David Phipps
Director, Chapel Studios
T +44 (0)20 7100 6980 F +44 (0)20 7100 6981 M +44 (0)7765 240899
New Broad Street House, 35 New Broad Street, London, EC2M 1NH, UK
http://www.chapel-studios.co.uk
_______________________________________________________________________
The Chapel Studios group of companies are registered in England.
'Chapel Studios' and the Chapel Studios logo are registered
trademarks of Chapel Studios. The information in this email is
confidential, intended solely for the addressee, and may be legally
privileged. If you are not the addressee or authorized to receive
this for the addressee, you must not use, copy, disclose or take any
action based upon this message or any information herein. If you
have received this message in error, please advise the sender
immediately by reply e-mail.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- --
Reactor for ColdFusion Mailing List
[EMAIL PROTECTED]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- --
_______________________________________________________________________
David Phipps
Director, Chapel Studios
T +44 (0)20 7100 6980 F +44 (0)20 7100 6981 M +44 (0)7765 240899
New Broad Street House, 35 New Broad Street, London, EC2M 1NH, UK
http://www.chapel-studios.co.uk
_______________________________________________________________________
The Chapel Studios group of companies are registered in England. 'Chapel
Studios' and the Chapel Studios logo are registered trademarks of Chapel
Studios. The information in this email is confidential, intended solely for
the addressee, and may be legally privileged. If you are not the addressee
or authorized to receive this for the addressee, you must not use, copy,
disclose or take any action based upon this message or any information
herein. If you have received this message in error, please advise the
sender immediately by reply e-mail.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion Mailing List
[EMAIL PROTECTED]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --