FYI, it's not _getQuery() as shown here:

<cfset invoices = customer.getInvoiceIterator()._getQuery()>

It's getQuery() as shown here:

<cfset invoices = customer.getInvoiceIterator().getQuery()>

Doug

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Jared Rypka-Hauer
Sent: Monday, July 10, 2006 2:02 PM
To: [email protected]
Subject: Re: [Reactor for CF] Iterator Quesion

Dan,

You should be able to shorten your code here this way:
<cfset customer =
application.cs.getBean("CustomerRecord").load(customerId=url.id)>

load() should return the record... unless this has changed
in the API. It hasn't *that I know of*. The way you have it
written now you end up with 2 customer records...
CustomerRecord and Customer. CustomerRecord is empty and
Customer has data... the former is an unneeded object.

As far as getting the ID while you're looping...

<cfloop query="invoices">
    <cfset ciID = invoices.customerInvoiceId>
</cfloop>

Also, this bit here:

<cfset invoices =
customer.getInvoiceIterator()._getQuery()>

Should probably be:

<cfset customerInvoices =
customer.getCustomerInvoiceIterator()._getQuery()>

IIRC, the results from that call should be a join between
the Invoice table and the Customer table based on the
customerId in the current instance of Customer... you
should actually have 2 iterators as members in your
Customer object, one for Invoices and one for
CustomerInvoices, because of the hasMany linkages between
the various object tags.

I may be wrong, and I'm working entirely from memory
here... but if I remember correctly that's how it SHOULD
work.

Someone please correct me if I'm wrong?

Laterz,
J

On Mon, 10 Jul 2006 12:49:44 -0400
 "Dan Vega" <[EMAIL PROTECTED]> wrote:
> Let's say for example I have 3 tables.
> Product,Invoice,ProductInvoice and my
> reactor.xml looks like this.
> 
>         <object name="Customer">
>             <hasMany name="Invoice">
>                 <link name="CustomerInvoice"/>
>             </hasMany>
>         </object>
> 
>         <object name="Invoice">
>             <hasMany name="Customer">
>                 <link name="CustomerInvoice"/>
>             </hasMany>
>         </object>
> 
>         <object name="CustomerInvoice">
>             <hasOne name="customer">
>                 <relate from="customerId"
> to="customerId"/>
>             </hasOne>
>             <hasOne name="Invoice">
>                 <relate from="invoiceId" to="invoiceId"/>
>             </hasOne>
>         </object>
> 
> 
> If I am in my admin area and viewiing a customers
> invoices i can loop them
> using the following query
> 
> <cfset customerRecord =
> application.cs.getBean("CustomerRecord")>
> <cfset customer = customerRecord.load(customerId=url.id)>
> 
> <cfset invoices =
> customer.getInvoiceIterator()._getQuery()>
> 
> So Up to there works fine, the question I have is, when I
> am looping the
> invoices query how do i find the related id's? In the
> CustomerInvoice table
> there is customerInvoiceID,customerId,invoiceId, I
> specifically need the
> customerInvoiceID each time I pass through the loop.
> 
> 
> 
> -- 
> Dan Vega
> [EMAIL PROTECTED]
> 
> 
> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> -- -- -- -- -- -- -- --
> 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