【发布时间】:2011-10-10 06:08:14
【问题描述】:
在模型中我将事件模型中的列类别序列化为数组,所以我有
serialize :category
问题是,我需要为用户提供搜索功能。那么我如何搜索一个类别是否在一个事件中。
Event.find(:all, :conditions => ['category = ?', params[:category]])
这不起作用,因为类别存储为序列化数组。有什么想法吗?
我能想到的唯一方法是获取所有事件并过滤掉每个实例。
Event.all.select{|e| e.category.include? params[:category]}
这根本没有效率。
否则,我可以使用like语句
Event.find(:all, :conditions => ['category = ?', "%-#{params[:category]}%"])
【问题讨论】:
标签: ruby-on-rails