Я не новичок в Rails, но до сих пор не делал ничего такого сложного, так что мне интересно, что может сделать более опытный разработчик rails:, когда кювет активная запись?
У меня есть запрос sql, который объединяет 4 или так таблицы в один выход:
SELECT places.id, places.name, places.email, places.website, places.blurb, external_ratings.rating, photos.data_file_name
FROM `scannables`
INNER JOIN places ON scannables.place_id = places.id
INNER JOIN locations ON places.location_id = locations.id
LEFT JOIN external_ratings ON scannables.place_id = external_ratings.place_id
LEFT JOIN photos ON scannables.place_id = photos.place_id
WHERE locations.id = 2474 AND scannables.bookdate BETWEEN '2009-08-29' and date_add('2009-08-29', INTERVAL 4 DAY)
GROUP BY scannables.place_id
HAVING SUM(scannables.available) >= 4
ORDER BY SUM(scannables.available) DESC, external_ratings.rating DESC
Я все отношения таблиц определены в различных моделях, и первоначально был его вытягивать различные данные только с помощью этих определенных отношений (с использованием активной записи), и она работала хорошо, за исключением на основной запрос, который является самым большим, был нелогичным медленным, выполняя несколько indv. запросы. Мой вопрос в том, должен ли я сбросить Active Record в этом случае и использовать find_by_sql ... или я что-то упустил?
Что такое Rails?
Благодаря
Фактически: наличие не имеет надлежащего эффекта ... по крайней мере, не такой же эффект, как исходный sql выше ... i также используется a: order => 'sum (scannables.availables)', который не работает должным образом ... ;-( – holden