私はそれに割り当てられた特定のスキームを持っている特定のページ(scheme_assignmentを介してすべて)を探したいときに働いているいくつかのSQL持っている:私はARELにこれを変換しようとするとARelの関連ではない別のテーブルに参加できますか?
Page.find_by_sql("
SELECT pages.id
FROM pages
INNER JOIN scheme_assignments ON (scheme_assignments.schemable_type = 'Page' AND
scheme_assignments.schemable_id = pages.sid)
INNER JOIN schemes ON (schemes.sid = scheme_assignments.scheme_id AND
schemes.sid IN (4,6,7))
GROUP BY pages.id")
を:
Page.select("pages.id")
.joins("scheme_assignments")
.on("scheme_assignments.schemable_type = 'Page' AND scheme_assignments.schemable_id = pages.sid")
.joins("schemes")
.on("schemes.sid = scheme_assignments.scheme_id AND schemes.sid IN (1)")
.group("pages.id")
私はこのエラーが出るでしょう: "スキーム" のための「NoMethodError: undefined method
join_sql:STRING`
はどのように来ますか?それは私のPage
モデルの関連ではないのですか?モデル内で関連付けを作成せずにSQLをARelに変換することはできますか?