Я новичок в ORM в целом, и у меня возникают проблемы с получением Rails для генерации нормально SQL.У меня есть две таблицы, сообщения и пользователи.По сути, я хочу получить список сообщений с привязкой user_name
отправителей.
Было бы замечательно, если:
Я получил только один столбециз пользовательской таблицы (в пользовательской таблице много столбцов, которые не нужно выделять)
Используется LEFT JOIN (Я хочу сообщения, даже если пользователи пропали в течение некоторого временипричина, и я не хочу, чтобы все замедлилось с помощью внутреннего соединения)
Мне не нужно упоминать имена внешних ключей в этом коде (у меня должно быть толькочтобы настроить их в моделях и «НЕ ПОВТОРИТЬ СЕБЯ», верно?)
У меня настроены эти модели:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => "User", :foreign_key => "from_user_id"
belongs_to :recipient, :class_name => "User", :foreign_key => "to_user_id"
end
class User < ActiveRecord::Base
has_many :sent_messages, :class_name => "Message", :foreign_key => "from_user_id"
has_many :received_messages, :class_name => "Message", :foreign_key => "to_user_id"
end
Мне очень хочется понравитьсяORM, но кажется, что до такой степени, что вам просто нужно написать запросы самостоятельно.