Я создаю довольно сложный запрос и хотел бы как можно больше придерживаться активных методов записи (потому что есть много дополнительных областей из модели, которые будут добавлены позже).
Current code:
join_sql = "INNER JOIN(SELECT username, user_id FROM external_credentials UNION SELECT username, user_id FROM internal_credentials) ON id = user_id"
User.joins(join_sql)
Это дает следующее SQL:
SELECT "USERS".* FROM "USERS" INNER JOIN(SELECT username, user_id FROM external_credentials UNION SELECT username, user_id FROM internal_credentials) ON id = user_id FETCH FIRST :a1 ROWS ONLY [["LIMIT", 11]]
Проблема в том, что он выбирает "USERS".*
вместо *
, поэтому я не могу использовать дополнительные поля, к которым я присоединяюсь. Как мне указать ActiveRecord принять все поля соединения?