2

我正在使用 will_paginate 进行分页,但我似乎一次不能使用多个条件。例如,如果我想要一个以“Where office_id = 5”结尾的 sql 查询,那么这很简单,我可以做到。但是如果我想做“where 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'

结尾

谢谢您的帮助!

4

2 回答 2

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
于 2010-06-10T09:02:49.113 回答
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')

这些仅适用于等效性,但是数据库正在定义它。如果您需要使用 LIKE,请参阅Jens Fahnenbruck 的回答

于 2010-06-10T09:00:15.343 回答