问题标签 [find-by-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - Rails 4,PostgreSQL:将 find_by_sql 聚合函数的结果转换为 OpenStruct
在报告/指标页面上工作,我需要尽可能优化查询,因此我使用 find_by_sql 来提高效率。
我的一个查询是做一些聚合函数,我返回一个计数和一些总和。我将此查询的结果分配给模型的实例变量。
我有工作代码,但代码让我害怕。我已经阅读了有关使用方法的官方 Ruby/Rails 文档,但我仍然认为我正在做的事情有问题。
关注点
find_by_sql
应该返回一个数组;SQL 将始终返回一行,即使没有找到匹配项(空值,但有效行)。但是,有没有理由我不应该调用.first
返回的数组?我害怕[].first => nil
在我没有预料到的情况下被击中。- 我使用该
stats
方法“缓存”结果的方法是仅查询 DB 1 次的适当方法吗?似乎有很多代码和方法只是为了获取一些聚合数据。
ruby-on-rails - RAILS SQL 子查询优化
我有一个如下所示的查询:
我在想有一种方法可以创建一个新的子查询,而不是
查询从存储的表中选择
只会被查询一次。然后这些WHERE Stocks.status = ?
东西将应用于该存储的表。
有帮助吗?
mysql - 带变量的 Rails 动态 SQL:未定义的方法 find_by_SQL
我有一个跨多个表的复杂 SQL 语句。我希望动态地将变量传递到该语句中并以 JSON 格式返回数据。我已经测试并知道该查询在 PHPMyAdmin 中有效,并将其放在我的请求类的 manSearch 方法中。目前,以下查询只是备注:undefined method find_by_SQL
。我从文档中知道 fin_by_SQl 确实存在于我的版本 4.0.1 中。
我怎样才能使这项工作?
mysql - Ruby on Rails .find_by_sql 引号问题
我在以下 MySQL 语句中使用日期变量时遇到问题。date 变量包含一个表示日期的字符串。
以下是在数据库上运行的结果查询。
在日期字符串周围添加了一组额外的引号,这会导致错误。有什么办法可以去掉多余的一对引号?
ruby-on-rails - Active Record find_by_sql 和 rspec 期望块。无故创建新 ID
我正在使用 rails 4.2.1 处理复杂的 SQL 查询
我的模式是(jobs has_many tasks, tasks has_many timers, and a timer belongs_to a user(role: proofreader) 通过外键proofreader_id)
问题是当我调用该方法时,它返回的是正确用户的电子邮件和属性,但 id 不匹配。
例如 User.proofreader_for_job(job) 返回
testemail@gmail.com 是正确的电子邮件,但我的数据库中没有 id 为 178 的用户。
User.all 只是返回
我在我的 rspec 测试中注意到了这个问题,但它发生在开发和测试环境中。
有谁知道为什么我的方法会返回具有如此高 id 的用户。这是按设计完成的,如果是,为什么?
谢谢你。
php - Yii 中 findBySQL 的结果
在 phpMyAdmin 中查询“SELECT * FROM uzytownik”会为我提供uzytkownik表中的所有记录。但是在 yii 控制器中应用的相同查询给了我一个(第一个)记录。怎么了?
输出:1 月 1 日
带有 WHERE 条件的查询也给了我一个记录,但它应该给我三个。
输出:1个Jakub
ruby-on-rails - 对返回对象的行为感到困惑
在触发 Model.find_by_sql 后;
对象返回为;
在对数据使用“检查”功能时,它会重新运行
在使用 data.class 时,它返回 Array。
但是,据我推测,这在用作“哈希”时效果很好,
我的问题是,为什么“数据”的行为就像一个哈希,根据像“name.value”这样的实现。
谢谢
ruby-on-rails - 在 ruby on rails 中存储作为 find_by_sql 方法的结果检索到的数据
我是 ruby on rails 的新手。我正在尝试从我的数据库中检索数据并在我的 rails 应用程序中进行操作。我在我的班级 Activity < ActiveRecord::Base 中尝试使用 find_by_sql 时被卡住了
我有一个结构为的费率表
这是我想要实现的示例代码
并使用 database_billrate_value_normal 变量进行我的操作。
如果我错了,请引导我走正确的道路。
sql - rails ActiveModel 添加未持久化的属性
我正在尝试查询模型表:
DB 表包含字段 sender_id、receiver_id、is_read。结果,我得到了一个不存在messages_count 的哈希数组。
我试过在我的
我也尝试像这样覆盖get hash
这没有被触发。
我还能尝试什么?谢谢!
ruby-on-rails - 在 Rails 4 中将 find_by_sql 语法转换为正确的 Active Record AREL 语法
给定一个具有三维坐标 x、y 和 z 的 System 模型,我编写了以下实例方法来为我提供相关特定 System 的设定范围内的所有其他 Systems。这是代码:
有这样做的 ActiveRecord 方式吗?