I am looking for a join query between 3 tables that will give me the
results I'm looking for.
I have a properties tables that has many layouts and many photos as
well. The layouts table can also, have many layouts. When I run the
query, I want to show a list of properties w/ one main photo from the
photos table, and a list of layouts per property. Right now, the query
I have will show a list of properties, but properties will be displayed
multiple times if there are more than one photos. Here's my current
query in rails form:
@properties = Property.paginate(:page => params[:page],
:select => ["properties.*,
:joins => ["INNER JOIN layouts
ON layouts.property_id = properties.property_id LEFT JOIN photos ON
photos.property_id = properties.property_id"],
:per_page => 20)
or, in raw sql:
SELECT properties.*, layouts.*, photos.photo_file_name FROM `properties`
INNER JOIN layouts ON layouts.property_id = properties.property_id LEFT
JOIN photos ON photos.property_id = properties.property_id WHERE
(properties.property_status='available') ORDER BY layouts.rent LIMIT 20
Any help would be greatly appreciated!
Posted via http://www.ruby-forum.com/.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to firstname.lastname@example.org.
To unsubscribe from this group, send email to email@example.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.