Mysql Rails查询接口where子句问题?
我尝试运行SQK查询,如下所示Mysql Rails查询接口where子句问题?,mysql,ruby-on-rails,ruby-on-rails-3,activerecord,Mysql,Ruby On Rails,Ruby On Rails 3,Activerecord,我尝试运行SQK查询,如下所示 @applicants = Applicant.where("applicants.first_name LIKE ? AND applicants.status = ?", "%#{people}%", ["new", "in-review"] ) 我收到一个MySQL错误,如下所示: ActionView::Template::Error (Mysql2::Error: Operand should contain 1 column(s): SELECT `
@applicants = Applicant.where("applicants.first_name LIKE ? AND applicants.status = ?", "%#{people}%", ["new", "in-review"] )
我收到一个MySQL错误,如下所示:
ActionView::Template::Error (Mysql2::Error: Operand should contain 1 column(s): SELECT `applicants`.* FROM `applicants` WHERE (applicants.first_name LIKE '%sh%' AND applicants.status = 'new','in-review')):
您必须在mysql的子句中使用
@applicants = Applicant.where("applicants.first_name LIKE ? AND
applicants.status in (?)",
"%#{people}%", ["new", "in-review"] )
您必须在mysql的
子句中使用
@applicants = Applicant.where("applicants.first_name LIKE ? AND
applicants.status in (?)",
"%#{people}%", ["new", "in-review"] )
如果要传递数组,最好是写入
@applicants = Applicant
.where("applicants.first_name LIKE ?", "%#{people}%")
.where(status: ["new", "in-review"])
或者使用宝石
如果要传递数组,最好是写入
@applicants = Applicant
.where("applicants.first_name LIKE ?", "%#{people}%")
.where(status: ["new", "in-review"])
或者使用宝石
你能帮我解答这个问题吗。遵循链接pastebin.com/2vup4pwdy您不能使用面向对象的符号applicators.job.job_title,因为据我所知,job_title是jobs表的一列。您需要加入作业表。你能帮我解答这个问题吗。遵循链接pastebin.com/2vup4pwdy您不能使用面向对象的符号applicators.job.job_title,因为据我所知,job_title是jobs表的一列。您需要加入作业表@申请人=申请人。包括(:jobs)。其中(“申请人。名字像?和申请人。地点像?和职位像?和职位像?,”%{people}%,“%{location}%,”%{more#job}%”)谢谢,这对我有用,但有点变化。我没有使用includes(:jobs),而是使用includes(:jobs)@appenders=appender.includes(:jobs)。where(“appenders.first_name LIKE?AND appenders.location LIKE?AND jobs.job_title LIKE?”,“%#{people}%”,“%#{location}%”,“%#{more#job}%”谢谢,这对我来说很有效,不过有点变化。我使用了includes(:job),而不是includes(:job)