ActiveRecord присоединяется к синтаксису - PullRequest
1 голос
/ 01 февраля 2011

Мне нужно выразить следующее условие соединения с помощью ActiveRecord:

SELECT ...
FROM U
LEFT OUTER JOIN F ON U.key = F.foreign_key
 AND F.key = ?
WHERE ...

где? заменяется во время выполнения.

Следующее вызывает ошибку синтаксиса SQL:

joins("LEFT OUTER JOIN F on U.key = F.foreign_key AND F.key=?", key)

Я не могу определить, поддерживает ли ActiveRecord эту «динамическую замену» (как бы это ни называлось).

Добавление ограничения (где ("F.key =?", Ключ)) в предложении WHERE приведет к сворачиванию ВНЕШНЕГО СОЕДИНЕНИЯ в СОЕДИНЕНИЕ.

1 Ответ

2 голосов
/ 02 февраля 2011

Этот синтаксис работал:

joins("LEFT OUTER JOIN F on U.key = F.foreign_key AND F.key=#{key}")
...