论坛首页 Ruby版

RoR里关于find如何实现模糊查询?

浏览 3492 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2006-12-01
《敏捷开发》里的例子,下面的精确匹配可以找到,但是要想搜索包含“计”的就不行了。
  def self.salable_items
    find(:all, :conditions => "title='计算机'")      
  end
   
最后更新时间:2006-12-01
我用的是sql语句,用find可以吗?

  def self.salable_items
    find_by_sql("SELECT * FROM products WHERE title LIKE '%算%'")
  end
   
0 请登录后投票
最后更新时间:2006-12-01
find(:all, :conditions => "title like '%算%'")
   
0 请登录后投票
最后更新时间:2006-12-01
谢谢茄子老兄~!缺烟钱跟我说啊~!

从查询时间上,感觉用find好像没有find_by_sql快。
   
0 请登录后投票
最后更新时间:2006-12-02
mafa 写道
谢谢茄子老兄~!缺烟钱跟我说啊~!

从查询时间上,感觉用find好像没有find_by_sql快。


这个不用感觉吧,实际测算就知道了。
   
0 请登录后投票
最后更新时间:2006-12-02
大家进行查询的时候不用占位符吗?
   
0 请登录后投票
最后更新时间:2006-12-02
jack 写道
mafa 写道
谢谢茄子老兄~!缺烟钱跟我说啊~!

从查询时间上,感觉用find好像没有find_by_sql快。


这个不用感觉吧,实际测算就知道了。


find_by_sql直接用SQL语句进行查询,而find是转换成SQL语句后查询,理论上肯定是前者快,但是很多时候小型应用也显不出来有多大的差别。

占位符当然是要用的。
   
0 请登录后投票
最后更新时间:2006-12-05
学习中,关注!
   
0 请登录后投票
最后更新时间:2006-12-06
我觉得ActiveRecord应该考虑缓存一下生成的sql,这样能在大型应用中节省不少时间吧……
   
0 请登录后投票
最后更新时间:2007-05-15
在使用find的时候,能够对结果排序吗?如果可以是使用
@blog.find(:id, :order by => "created_on DESC")吗?我这样用了但是没有效果。
   
0 请登录后投票
论坛首页 Ruby版

跳转论坛:
JavaEye推荐