在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 框架的代码生成工具,它极大地简化了在.NET环境中使用ActiveRecord模式进行数据库操作的工作流程。ActiveRecord是面向对象持久化的一个设计模式,将...
在Ruby on Rails框架中,ActiveRecord是一个至关重要的组件,它负责模型(Model)与数据库之间的交互。本实例将深入探讨ActiveRecord的基本用法,帮助理解如何在实际开发中有效地运用这个强大的工具。 首先,让我们...
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
将此行添加到应用程序的Gemfile中(如果没有,请运行bundle init ): gem 'active_record_migrations' gem 'sqlite3' # or 'pg', 'mysql2', ... 然后执行: $ bundle --binstubs 创建一个Rakefile: require ...
1. 方法优先于对象:Hutool倾向于在工具类中使用静态方法,以简化调用和减少代码冗余。 2. 自动识别优于用户定义:Hutool在很多模块中利用逻辑自动识别参数,减少了不必要的用户输入,提高易用性。 3. 便捷性与灵活...
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' 然后执行: $ ...
JFinal 是一款基于 Java 语言开发的极速 Web 开发框架,它的设计理念包括开发迅速、代码简洁、易于...开发者可以通过阅读本手册深入理解 JFinal 的使用方法,并在实际开发中高效地运用 JFinal 来构建 Web 应用程序。
userstamp, 这个 Rails 插件扩展ActiveRecord Userstamp插件( v-2.0 )概述Userstamp插件扩展了 ActiveRecord::Base,以添加对'创建者','更新程序'和'deleter'属性的自动更新。 它是基于 ActiveRecord::Timesta
4. **ActiveRecord**:介绍Rails的ORM(对象关系映射)系统,包括模型的创建、关联、查询以及迁移操作。 5. **视图与模板**:讲解ERB或Haml等模板语言,如何渲染HTML并结合Helper方法创建动态视图。 6. **控制器**:...
没有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....
MyBatis-Plus 的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 MyBatis-Plus 的特点包括: 1. 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。 2. 损耗...
安装将此行添加到应用程序的 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 用法 在迁移中,您可以定义整数字段,例如:...
在 MyBatis-Plus(MP)中,ActiveRecord(AR)模式是一种强大的工具,它将对象与数据库表的关系紧密地绑定在一起,简化了数据库操作。AR 模式的核心思想是,一个 Java 类对应数据库中的一个表,类的实例对应表中的一...
Castle是.NET平台上一个开源、全面的软件开发框架,它提供了许多功能强大的组件和服务,包括 inversion of control(IoC)容器、动态代理、AOP(面向切面编程)、以及用于构建可扩展应用程序的基础架构。在本篇文章...
[其他类别]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'你可以在每个模块中
在 Winform 应用中,你可以利用 Castle.ActiveRecord 提供的 CRUD(创建、读取、更新、删除)操作方法,轻松地与数据库进行交互。例如: ```csharp using (var session = ActiveRecordMediator<User>....