retrieving "grandchild" data

No, like this:

@books = Book.find(:all, :conditions =>

[‘shelves.library_id = ?’, @library.id], :include=>{:shelf=>{:books=>:pages}}

You can nest this as much as you like. Just be aware of the slightly quirky naming conventions for the table aliases, in case you want to add conditions to the child or grandchild tables. Have a look at the Rails doco for Association.

Cheers,
Max

Carl Johnson <rails-mailing-list@...> writes:

> <at> books = Book.find(:all, :conditions =>
> ['shelves.library_id = ?', <at> library.id],
> :include=>{:shelf=>{:books=>:pages}}
>
> You can nest this as much as you like.

Ah perfect! I knew there must be a Rails way to do the joins. Thanks
very much!

Be careful though. As you join more tables together, if you don't have enough
indexing on the columns which are being joined then your queries will really
start to drag as more data is added.