b(either) - for clarity (as in that IS the SQL that will be output) more than anything as well as producing correct code.<br><br><div class="gmail_quote">On Fri, Oct 16, 2009 at 6:21 PM, Andrew Stewart <span dir="ltr"><<a href="mailto:boss@airbladesoftware.com">boss@airbladesoftware.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
On 14 Oct 2009, at 16:29, Matthew Rudy Jacobs wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
If I were you I'd write the :joins as a string.<br>
I don't think the nested hash conditions syntax is very clear anyway,<br>
(especially with 5 levels of nesting)<br>
</blockquote>
<br>
<br></div>
I wrote the :joins as a string and it all worked as hoped (on Rails 2.1.0 and 2.3.4).  Thanks for the suggestion.<br>
<br>
As for clarity, here are the versions so others may judge ;)<br>
<br>
(a)         :joins => {:d => {:c => {:b => {:a => :account}}}}<br>
<br>
(b)(i)      :joins => "INNER JOIN `d` ON `d`.id = `e`.d_id INNER JOIN `c` ON `c`.id = `d`.c_id INNER JOIN `b` ON `b`.id = `c`.b_id INNER JOIN `a` ON `a`.id = `b`.a_id INNER JOIN `accounts` ON `accounts`.id = `a`.account_id"<br>


<br>
(b)(ii)     :joins => "INNER JOIN `d` ON `d`.id = `e`.d_id " +<br>
                     "INNER JOIN `c` ON `c`.id = `d`.c_id " +<br>
                     "INNER JOIN `b` ON `b`.id = `c`.b_id " +<br>
                     "INNER JOIN `a` ON `a`.id = `b`.a_id " +<br>
                     "INNER JOIN `accounts` ON `accounts`.id = `a`.account_id"<br>
<br>
Personally I prefer (a) but it has the unfortunate drawback of producing left outer rather than inner joins....<br>
<br>
Cheers,<div><div></div><div class="h5"><br>
Andy Stewart<br>
<br>
------<br>
<a href="http://airbladesoftware.com" target="_blank">http://airbladesoftware.com</a><br>
_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org" target="_blank">Chat@lists.lrug.org</a><br>
<a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
</div></div></blockquote></div><br>