Предположим, у меня есть attrs first_name
и last_name
для пользователя. Я знаю, что полное имя пользователя - «Johnny Appleseed», так как у меня есть большой Hash полных имен пользователя в виде строк.Строка конкатенации двух атрибутов в Rails, где запрос
Конечно, я мог бы разделить каждую строку первой, и поиск так: User.where(first_name: 'Johnny', last_name: "Appleseed")
НО, мне интересно, если есть способ в основном CONCAT два в запросе, по существу, например, так: User.where('first_name + last_name = ?', 'Johnny Appleseed')
Или, если бы у меня был метод full_name в модели пользователя и поиск по этому вопросу?
def full_name
"#{self.first_name} #{self.last_name}"
end
User.where('full_name = ?', 'Johnny Appleseed')
это работает, спасибо! По производительности, это медленно, но он выполняет свою работу. Я не знал о «concat_ws», спасибо, что показал мне что-то новое. –