arel相关内容
也许我快疯了,或者只是需要休息一下,但是在我的 Rails 控制台中 Order.where(state: nil).count 返回 1010,但是 Order.where.not(state: "pending").count 返回 0... 如果订单的状态为 nil,那么它不是“pending",所以我期望not(state: "pending") 返回的集合包含集合 where(state
..
使用 SQL 我可以很容易地做这样的子查询 User.where(:id => Account.where(..).select(:user_id)) 这会产生: SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..) 如何使用 rails 的 3 activerecord/arel/meta_wher
..
在 Rails 3/AREL 中 Model.group(:label).sum(:value) 会做 SELECT sum(value), label from model_table group by label 我正在努力寻找 AREL 的做法 SELECT sum(value) from (select value, label from model_table group b
..
这就是我想要做的 类问题has_many :投票结尾班级投票归属地:问题结尾 我想找到按投票数排序的所有问题.我想在不使用任何计数器缓存的情况下在 Arel(在 Rails 3 中)表达这一点. 有没有办法做到这一点? 谢谢. 解决方案 试试这个: Question.select("questions.*, a.vote_count AS vote_count").加入(
..
我正在尝试在我的 Page 模型中创建一个 :readable 范围,以返回 current_personPages代码> 有足够的“等级"可供阅读: scope :readable, lambda { |current_person|加入(:角色可读).where(:role_readable[:rank].gte(current_person.roles.first.rank)) } 我尝
..
我为我们的支持者制作了一个支持票系统 - 使用 ruby on rails (Ruby 1.9.3 Rails 3.2) 进行编程 有一个与用户(支持者)的 belongs_to 关联的票证模型. 我使用 Ernie 的 gem Ransack 进行搜索.当支持者搜索自己的票(由 ticket_controller.index 处理)时,他还应该在搜索结果(视图/票/索引)中看到未
..
我的范围定义如下: scope :ignore_unavailable, lambda {where([ "Item.id NOT IN (SELECT id FROM Cars WHERE Cars.status = 'NA'" ])} 目前它使用硬编码的表格名称.如何使用 Arel 等框架改进它?将不胜感激这里的任何帮助. 我在 Rails 3.2 上 解决方案 如果您使用的
..
我有几个复杂查询(使用子查询等...),并想用 OR 或 AND 语句将它们粘合在一起. 例如: where1=table.where(...)where2=table.where(...) 我想要类似的东西 where3=where1.or where2 下一个例子对我不起作用: users.where(users[:name].eq('bob').or(users[:age].
..
假设我们有以下内容: irb>Post.where(:hidden => true).to_sql=>“SELECT `posts`.* FROM `posts` WHERE posts.hidden = 1" 我们能否以某种方式从中获取反向 SQL 查询? 我在找什么,应该是这样的: irb>Post.where(:hidden => true).invert.to_sql=>“SE
..
将 Rails 2 应用程序转换为 Rails 3,我必须替换 gem searchlogic.现在,使用 Rails 3.2.8 和 gem Ransack 我想构建一个使用现有范围的搜索表单.示例: class Post 据我所知,这可以通过定义自定义ransacker来实现.可悲的是,我没有找到任何关于此的文档.我在 Post 类中试过这个: ransacker :year,:格式化
..
在我的 Rails 应用程序中,我遍历一个数组以创建一个必须由 OR 连接的条件列表.以下是我目前的基本流程. conditions = nilset.each do |value|条件 = value.to_condition条件=条件?conditions.or(condition) : 条件结尾 显然,它并不漂亮,但我仍然不完全了解 Arel.它是否提供了对一组动态生成的条件进行 OR-
..
以下代码在 Rails 4.1 中使用 OR 运算符构造了一个有效的 where 子句 MyModel.where(MyModel.where(attribute1: 1, attribute2: 2).where_values.reduce(:or)) 大致相当于SQL select * from my_models where (attribute1 = 1 OR attribute2
..
由于信息安全限制,我对产品有一个默认范围. class Product 但是,在我关联的照片模型中,我还必须找到不应该显示的产品. 班级照片 在其他情况下,我可以按顺序使用 unscoped绕过default_scope,例如在 Product.unscoped.find_by_title('abc') 中.但是: 如何在使用记录关联时移除范围? my_photo.unsco
..
我正在尝试在 Rails 3 中的 Arel 和/或 Active Record 中嵌套 SELECT 查询以生成以下 SQL 语句. SELECT sorted.* FROM (SELECT * FROM points ORDER BY points.timestamp DESC) AS sorted GROUP BY sorted.client_id 可以通过执行创建子查询的别名 poi
..
我在 Theme 和 Quote 模型之间建立了 HABTM 关系.themes index 视图显示与每个主题关联的引用计数.我想在该列上添加一个 Ransack sort_link,以便 themes 可以按照它们关联的 quotes 的计数进行排序. 我使用计数器缓存列成功地使用 has_many 关联完成了此操作,但 Rails 不支持 HABTM 关联的计数器缓存列. 到目前
..
考虑一个简单的关联... class Personhas_many : 朋友结尾班级朋友归属于:人结尾 让所有在 ARel 和/或 meta_where 中没有朋友的人最干净的方法是什么? 然后是 has_many :through 版本 class Personhas_many :联系人has_many :friends, :through =>:联系人,:uniq =>真的结尾班级
..
我在使用 Arel 聚合同一查询中的 2 列时遇到问题.当我运行它时,在 rails dev-server 崩溃之前,整个服务器会冻结一分钟.我怀疑是无限循环:). 也许我误解了 Arel 的整个概念,如果有人能看一下,我将不胜感激. 这个查询的预期结果是这样的:[{:user_id => 1, :sum_account_charges => 300, :sum_paid_debts
..
我有一个 Collection 类,里面有很多硬币.我正在尝试选择包含两个以上硬币的收藏.目前,我通过直接的 Ruby 做到这一点没有问题,但效率极低. 我当前的代码: collections = Collection.all.select { |c|c.coins.count >2 } 我如何通过与 Arel 的 joins 调用来实现这一点? 谢谢! 解决方案 回答我自
..
我使用的是 Ruby on Rails 3.2.2,我想生成以下 SQL 查询: SELECT `articles`.* FROM `articles` WHERE (`articles`.`user_id` = 1 OR `articles`.`status` = 'published' OR (`articles`.`status` = 'temp' AND `articles`.`user
..
鉴于使用 Arel 运算符(例如.eq)生成的 SQL 条件 cond1、cond2 和 cond3,我似乎无法使用 Arel 生成 SQL: SELECT * FROM WHERE (cond1 AND cond2) 或 cond3 这是因为将 AND 条件放在一起使用 .where(),但不能将 .or() 用于 .where() 的结果.您只能在 .where() 中将 .or() 条
..