我使用will_paginate进行分页,但我似乎无法一次使用多个条件。例如,如果我想要一个以“Where office_id = 5”结尾的SQL查询,那么它非常直接,我可以这样做。但是如果我想做“Office_id = 5 AND primary_first ='Mark'”怎么办?我做不到。我不知道如何输入多个条件。你能帮帮忙吗?
以下是我的代码示例:
def self.search(search, page, office_id)
paginate :per_page => 5, :page => page,
:conditions => ['office_id', "%#{office_id}"], # + ' and primary_first like ?', "%#{params[:search]}%"],
#:conditions => ['primary_first', "%#{search}%"],
:order => 'created_at'
端
感谢您的帮助!
答案 0 :(得分:3)
如果我理解你想要的东西,这应该有效:
def self.search(search, page, office_id)
paginate :per_page => :page => page,
:conditions => ["office_id LIKE ? and primary_first LIKE ?", "%#{office_id}", "%#{search}%"]
:order => :created_at
end
答案 1 :(得分:1)
尝试:conditions => ["office_id = ? and primary_first = ?", office_id, search]
或使用动态查找器:
paginate_by_office_id_and_primary_first(office_id, search, :per_page => 5, :page => page, :order => 'created_at')
这些只适用于等效,但db正在定义它。如果您需要使用LIKE,请参阅Jens Fahnenbruck's answer