2010-11-08 32 views
0

查找条件现在我只有一个条件,我Projects.paginate 代码如下2与一个变量

def list 
     @projects = Project.paginate(:page => params[:page], :per_page => 100, :order => (sort_column + ' ' + arrow), :conditions => ["description LIKE ?", "%#{query}%"]) 

我想在这里把另外的条件,但它被证明是困难的。我试过了

@projects = Project.paginate(:page => params[:page], :per_page => 100, :order => (sort_column + ' ' + arrow), :conditions => ["description OR name LIKE ?", "%#{query}%"]) 

但是即时通讯从SQL控制器得到一个绑定错误。有任何想法吗?我也不能使用=符号。

+1

我真的不知道Rails的,但是'SELECT ... WHERE描述或名称LIKE“%FOO%”'不真正有效的SQL,或者至少它不会做你认为它的作用。它需要'WHERE描述LIKE'%foo%'或名称LIKE'%foo%''。 – deceze 2010-11-08 03:45:03

回答

1

你需要有两个绑定变量条件中的数组:

qt = "%#{query}%" 
@projects = Project.paginate(:conditions => 
       ["description LIKE ? OR name LIKE ?", qt, qt], ..) 
+0

啊。很奇怪的是,考虑到qt和qt都具有相同的价值。你会认为SQL只能用一个变量来理解。无论如何谢谢你!这确实解决了我的问题 – TheRealVayne 2010-11-09 06:32:18