Teddy,
And there in lies my problem, I think. From what I understand, the gateway works on a table. When I use that method, I do not get direct access to the data in the other table that has the "hasOne" relationship. Right now I have to write a separate query that joins the two tables, use createGateway() on that query, then cfoutput as normal. My thought originally when I come across this thread was that if you do a createGateway, then a getAll() and the table has a "hasOne" relationship with other tables, shouldn't you be able to access the related table data without having to write a separate query? If I have to write a separate query, so be it. I was looking for a more efficient way to display a listing of data from 2 related tables.

Thanks for you patience on this.

Byron

Teddy Payne wrote:
Byron,
Displaying all staff records would be a gateway.

<cfset Reactor = CreateObject("Component","reactor.reactorFactory").init(expandPath("reactor.xml ")) />
<cfset staffGateway = reactor.createGateway("staff") />
<cfset qryStaff = staffGateway.getAll()>

qryStaff returns a query object, so you can use cfoutput or cfloop if you like.

I recommend reading http://livedocs.reactorframework.com/

This is covered in the "Reactor Crash Course" portion of the left navigation.


On 7/24/06, *Byron Raines * <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Thanks, Teddy.  That's really helpful.  Esp. the info on isDirty
    (hadn't
    got that far).  Now to take this further.  To display all staff in the
    table, would I need to <cfloop> over all the records?  Is this the
    most
    efficient way? or is there another way?

    Thanks again.

    byron

    Teddy Payne wrote:
    > Byron,
    > As promised, here is the reactor snippet.  The reactor.xml was
    located
    > in my webroot in a folder called sample.  I created a mapping to
    > sample/data folder to store the generated reactor objects.
    >
    > I also included a basic logic to detect if you have found an address
    > for a given staffer.
    >
    > Reactor.xml:
    > <reactor>
    >     <config>
    >            <project value="sample" />
    >            <dsn value="reactor" />
    >            <type value="mssql" />
    >            <mapping value="/sampleData" />
    >            <mode value="development" />
    >     </config>
    >
    >     <objects>
    >
    >         <object name="Staff">
    >             <hasOne name="Address">
    >                 <relate from="staffID" to="staffID" />
    >             </hasOne>
    >         </object>
    >
    >     </objects>
    >
    > </reactor>
    >
    > ColdFusion Code:
    > <!--- load the reactor factory --->
    > <cfset Reactor = CreateObject("Component",
    > "reactor.reactorFactory").init(expandPath("reactor.xml ")) />
    >
    > <!--- get the staffer record for the  staff person with the primary
    > key on the staff table of 1 --->
    > <cfset staffRecord =
    reactor.createRecord("staff").load(staffID=1) />
    >
    > <!--- get the address record for the staffer record loaded--->
    > <cfset staffAddressRecord = staffRecord.getAddress() />
    >
    > <!--- the isDirty method of the staffer's address link will tell you
    > if an address record was found or not for the staffer --->
    > <cfset badRead = staffAddressRecord.isDirty()>
    >
    > <cfoutput>
    > <!--- display the staffer's name from the staff table' --->
    > #staffRecord.getStafferName()#<br />
    >
    > <!--- if it was not a bad read of the address table for the staffer,
    > display the address and state --->
    > <cfif not badRead>
    >     <!--- get the address of the staffer from the address table
    --->
    >     #staffAddressRecord.getAddress_One()#<br />
    >     <!--- get the state of the staffer from the address table --->
    >     #staffAddressRecord.getState()#<br />
    > </cfif>
    >
    > </cfoutput>
    >
    > --
    > <cf_payne />
    > http://cfpayne.wordpress.com/
    > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    -- --
    > -- -- -- --
    > Reactor for ColdFusion Mailing List
    > [email protected] <mailto:[email protected]>
    > Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
    > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    > -- -- -- --


    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    -- -- -- -- --
    Reactor for ColdFusion Mailing List
    [email protected] <mailto:[email protected]>
    Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
    <http://www.mail-archive.com/reactor%40doughughes.net/>
    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    -- -- -- -- --




--
<cf_payne />
http://cfpayne.wordpress.com/ <http://cfpayne.wordpress.com/>
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
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