- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
问题:
我想运行一个会触发类似的查询
select * from users where code in (1,2,4);
使用 named_scope
。
我尝试了什么:
这是一个单一的代码:
named_scope :of_code, lambda {|code| {:conditions => ["code = ?", code]}}
我试过类似的东西
named_scope :of_codes, lambda {|codes| {:conditions => ["code in ?", codes]}}
并发送
user.of_codes('(1,2,4)')
它会触发select * from users where code in '(1,2,4)'
由于额外的引号引发 MySQL 错误。
PS: 理想情况下我想发送 user.of_codes([1,2,4])
最佳答案
这只会发现而不会让您暴露于 SQL 注入(inject)攻击:
named_scope :of_codes, lambda { |codes|
{ :conditions => ['code in (?)', codes] }
}
User.of_codes([1, 2, 3])
# executes "select * from users where code in (1,2,3)"
如果你想更圆滑一点,可以这样做:
named_scope :of_codes, lambda { |*codes|
{ :conditions => ['code in (?)', [*codes]] }
}
然后您可以使用 Array
(如上)调用它:User.of_codes([1, 2, 3])
,或使用代码列表参数:User.of_codes(1, 2, 3)
。
关于mysql - rails : Using named_scope which triggers a MySQL "in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148478/
我看到的问题本质 有一天,如果我没记错的话,我看到了一个重用一个named_scope 来定义另一个named_scope 的例子。像这样的东西(不记得确切的语法,但这正是我的问题): named_s
帖子有_很多评论 我正在使用 searchlogic它将按命名范围排序。因此,我想要一个按每个帖子的最新评论排序的命名范围。 named_scope :ascend_by_comment, :orde
在 Rails 模型中,我试图实现一个在 start_date 和 end_date 上过滤的 named_scope。这很简单。但我将不得不在很多不同的领域多次这样做。 这是自找麻烦吗?如果是这样,
我有一个简单的父对象,有很多 child 。我试图弄清楚如何使用命名范围来带回具有特定数量 child 的 parent 。 这可能吗? class Foo 1 end class Bar :ba
是否可以有named_scope返回特定列的唯一记录? 例如 named_scope :unique_styles, :order =>"title desc", :limit => 3 这会给我三种
亲爱的,我有一个 Student 模型,我在其中指定了一些 name_scope,例如from_program、from_year、from_school、has_status、from_course
我正在使用 will_paginate 进行分页,到目前为止,它一直运行良好,除了这一件事。 例如,如果我尝试对范围进行分页 class User params[:page], :per_page
scope 和 named_scope 之间有什么区别吗? 最佳答案 scope用于 Rails 3 >, named_scope在以前的版本中使用 关于ruby-on-rails - Rails 范
这个问题的背景相当复杂和令人费解,由于我正在寻找一个简单的答案,所以我将在解释我的问题时将其放在一边,而是提供这种假设情况。 如果我有一个名为 Automobile 的简单 ActiveRecord
我有以下类(class) class Service 无需为每个计数进行 SQL 查询。我正在尝试使用 select 的方法但我运气不佳。这是我到目前为止所拥有的: # In
这是我的情况。我有两个表:质押和质押交易。当用户做出 promise 时,他在 promise 表中只有一行。 稍后当需要履行 promise 时,每笔付款都会记录在我的 pledge_transac
Rails 专家:感谢另一位 SO 用户,我刚刚发现了 named_scope。 :) 我想获取一组行的计数 - 即 SELECT COUNT(*)。此外,我希望仍然能够在调用中链接命名范围。 这是命
我正在尝试创建一个使用连接的 named_scope,但尽管生成的 SQL 看起来正确,但结果却是垃圾。例如: class Clip "INNER JOIN series ON series.id
我可以返回一个对象集合,只有一个 (:limit => 1) 但是有没有办法只返回 .first() 对象,就像不在集合中一样? named_scope :profile, :conditions =
我一直在苦苦思索一些表面上应该很简单的事情。假设我有以下简化模型: 用户.rb has_many :memberships has_many :groups, :through => :member
我已经在多个 ActiveRecord 模型中重用了 named_scope。 例如: named_scope :limit, lambda {|limit| {:limit => limit}}
我有一个将查询结果作为参数的名称范围: scope :current_budget, where(:budget_review => Appconfig.budget_status) 方法 budge
有没有办法从关联中急切加载named_scope? 我有我的文章模型: class Article { :approved => true } named_scope :unapproved,
我最近开始实习。我的雇主在 Rails 上使用 ruby,我经常遇到需要查找才能理解的新语法。我在谷歌上搜索了对named_scope的很好的解释,但到目前为止我发现的大多是对它给予高度赞扬的博客
问题: 我想运行一个会触发类似的查询 select * from users where code in (1,2,4); 使用 named_scope。 我尝试了什么: 这是一个单一的代码: nam
我是一名优秀的程序员,十分优秀!