在SQL文的查询条件中经常会用得到关键字in,例如:
SELECT * FROM accounts WHERE nick_name = 'nicknm' AND id IN ("1","2");
此时如果利用Rails的find方法,代码如下所示:
require "rubygems"
require "active_record"
module ActiveRecord
class Base
def self.each_cons(n)
offset = 0
loop do
size = yield(offset)
break if size < n
offset += n
end
end
end
end
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:database => 'myapp_development',
:username => 'my',
:password => '123'
)
class Account < ActiveRecord::Base
establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:database => 'myauth_development',
:username => 'my',
:password => '123'
)
end
#condns 是个数组
condns = []
condns << "1"
condns << "2"
#非常值得注意的是:此时传给in(即第二个?)的参数一定要是数组类型的,
#否则返回的不是想要的结果。
#举例说明:如果将condns设置成字符串类型→"1,2",那么下述find方法解析完的
#SQL是SELECT * FROM accounts WHERE nick_name = 'nicknm' AND id #IN ("1,2");
#而我们期待的结果应该是:
#SELECT * FROM accounts WHERE nick_name = 'nicknm' AND id IN
#("1","2");
accounts = Account.find(:all,
:conditions => ["nick_name = ? and id in (?)", "nicknm", condns],
:order => 'id asc',
:limit => 1000)
分享到:
相关推荐
简单Castle.ActiveRecord.Generator的例子。 包括添加,修改,删除,察看的基本功能。 包含建库脚本。
Castle.ActiveRecord For .NET FrameWork 2.0 ...Castle.ActiveRecord.dll:V2.1.2.6725 NHibernate.dll:V2.1.2.4000 Castle.Core.dll:V1.1.0.0 Castle.Components.Validator.dll:V1.0.3.4333
ActiveRecord简单实例_activerecord.zip
将此行添加到应用程序的Gemfile中(如果没有,请运行bundle init ): gem 'active_record_migrations' gem 'sqlite3' # or 'pg', 'mysql2', ... 然后执行: $ bundle --binstubs 创建一个Rakefile: require ...
database-views 允许将数据库视图存储为sql文件并易于应用安装只需Gemfile添加到您的Gemfile gem 'activerecord-database-views' 并运行bundle install用法将将要从中生成视图SQL放置到db\views目录中(实际的视图...
Simplified the first,last,take methods in ActiveRecord.So instead of using where and first, you can directly use first. 安装 将此行添加到您的应用程序的Gemfile中: gem 'lazy_find' 然后执行: $ ...
userstamp, 这个 Rails 插件扩展ActiveRecord Userstamp插件( v-2.0 )概述Userstamp插件扩展了 ActiveRecord::Base,以添加对'创建者','更新程序'和'deleter'属性的自动更新。 它是基于 ActiveRecord::Timesta
没有Rails的ActiveRecord 只是在没有Rails的情况下使用ActiveRecord迁移的简单示例您可以执行的任务: rake db:create rake db:migrate rake db:dropRails 5+的注意事项请注意,即使使用Rails 5,您也需要rake db:...
2、Castle.ActiveRecord.Web 3、Castle.Components.Validator 4、NHibernate.JetDriver 5、NHibernate.Search 为了和原有版本区分开,特地将文件版本均升级到了3.4.0.4000,产品版本没有改动。 关键词:Castle....
安装将此行添加到应用程序的 Gemfile 中: gem 'activerecord-relations_annotations' , '~> 0.0.1' 然后执行: $ bundle或者自己安装: $ gem install activerecord-relations_annotations用法不是最好的例子,但给...
将此行添加到您的应用程序的Gemfile中: gem 'activerecord-mysql-unsigned' 然后执行: $ bundle 或将其自己安装为: $ gem install activerecord-mysql-unsigned 用法 在迁移中,您可以定义整数字段,例如:...
[其他类别]ActiveRecord简单实例_activerecord.zip源码ASP.NET网站源码打包下载[其他类别]ActiveRecord简单实例_activerecord.zip源码ASP.NET网站源码打包下载[其他类别]ActiveRecord简单实例_activerecord.zip源码...
ruby-destroyed_at, 用于安全销毁的ActiveRecord Mixin DestroyedAt 查找帮助?如果是一个 Bug ,请在GitHub上打开一个问题。安装将 destroyed_at gem 添加到 Gemfilegem 'destroyed_at'你可以在每个模块中
activerecord-sqlserver-adapter-mirroring 一个简单的插件,它为添加了数据库镜像支持。 目标 Rails 4.1.x 和 activerecord-sqlserver-adapter 4.1.0。 用法 添加到 Gemfile: gem 'tiny_tds' gem '...
ObjectiveRecord, 用于CoreData的ActiveRecord ObjectiveRecord 目标记录是管理核心数据对象的轻量级ActiveRecord方法。 如果你以前使用过 Ruby on Rails,可能会很熟悉。没有AppDelegate代码要求。它是用 Kiwi进行...
CASTLE ACTIVERECORD学习实践(1):快速入门指南 CASTLE ACTIVERECORD学习实践(2):构建配置信息 CASTLE ACTIVERECORD学习实践(3):映射基础 CASTLE ACTIVERECORD学习实践(4):实现ONE-MANY关系的映射 CASTLE...
主动记录一种轻松使用ActiveRecord的...配置您的数据库连接加载了gem之后,请使用以下示例之一将有关数据库配置的信息告知OTR::ActiveRecord : OTR::ActiveRecord.configure_from_file! "config/database.yml"OTR::
阿米斯塔德Amistad将友谊管理添加到Rails应用程序中。 它支持ActiveRecord,Mongoid和MongoMapper。安装在您的Gemfile中添加以下行: gem 'amistad'然后运行: bundle install用法请参阅以获取用法和友谊管理文档。...
SwiftRecord, 用于快速的核心数据的ActiveRecord SwiftRecord 由 tweet tweet tweet @arkverse feature feature任何功能请求。 反馈非常感谢你 !ActiveRecord风格核心数据对象管理。 非常方便且易于使用