我有一个用于自动完成的用户的搜索字段,它正在工作,但我将我的数据库从mySQL迁移到Postgresql但无法使连接工作。当我键入名字或姓氏时,但是当我的用户键入名字姓氏(他们之间有空格)时,它不再起作用,无法使其工作或弄清楚该怎么做。
这是我的SQL命令:
@users = User.find(:all,:conditions => ['(last_name LIKE ? OR first_name LIKE ? OR (first_name || last_name) LIKE ? OR (last_name || first_name) LIKE ?) AND adult = ?', "%#{params[:term]}%", "%#{params[:term]}%", "%#{params[:term]}%", "%#{params[:term]}%", false])
我的问题在于:(first_name || last_name)当用户键入FirstNameLastName时将返回正确的值,因此concat在这里工作,但是当我尝试添加空间时我无法弄清楚我尝试了什么错误:
(first_name ||' '|| last_name) or (first_name ||" "|| last_name)
但是这些都不会起作用我在stackoverflow上发现了另一个线程,但无法使它工作,我不明白为什么......
谢谢,
答案 0 :(得分:4)
不知道Rails但是怎么样
'....(first_name || \' \' || last_name)...'