0

Я новичок в рельсах. Я хотел бы написать этот SQL запрос в пути рельсах:Конкатентные внутренние условия запроса рельсов

select * from USER where ((name+' '+firstname) like %search%) or ((firstname+' '+name) like %search%) or (name like %search%) or (firstname like %search%) 

Как я могу это сделать?

+0

Что будет в поиске? kinsonTo и nyHop кажутся маловероятными –

+0

не похож на запрос, который будет масштабироваться вообще – bjhaid

+0

поиск - это случайная строка – user3242743

ответ

1

Вы можете написать этот запрос будет в пути рельсах: В User_controller:

User.where("name = ? AND LOWER(firstname) LIKE LOWER(?)", "%#{ params[:name]}%", "%#{ params[:key]}%"). 
+0

, и если я хочу написать внутри модели? как я могу это сделать, используя «find (: all,: conditions =>»? – user3242743

0

User.find (: имя => "Здесь вы можете ввести имя вашего пользователя")

здесь вы можете отправить параметр в методе защиту capitalize_name (имя) name.downcase конец

, то вы можете использовать как User.find (: имя => "# {capitalize_name (name)} ")

Смежные вопросы