问题标签 [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.
ruby-on-rails-3 - 将 find_by_sql 与 RSPEC 一起使用时缺少属性
我使用在开发中运行良好的 find_by_sql 语句。当涉及到使用规范的测试环境时,它会输出错误:
ActiveModel::MissingAttributeError:缺少属性:已注册
我已经运行 db:test:purge 和 db:test:prepare 来清理测试数据库。但错误仍然发生。在开发和测试中,我使用 PostgreSQL。
有问题的陈述如下:
ruby-on-rails-3 - 在 Rails 3 中使用数组格式的 find_by_sql
美好的一天,伙计们!
我在 rails 3 中使用find_by_sql()来获取记录,如下所示。
如果多个参数适用于同一属性,如何修改同一语句,例如:
在这里,sent_id和from_id属性都接收相同的参数params[:id]
那么,除了传递相同的params[:id]两次之外,是否有任何机制可以根据顺序传递参数?
sql - Rails find_by 在较低的层次结构级别
我有以下型号:
现在,我想通过一条生成单个 SQL 的语句,从给定公司的任何项目中获取下一个截止日期。
IE
我不想要的是遍历所有公司员工并检查下一个截止日期,为每个员工访问一次数据库。
有没有比 find 命令更优雅的
mysql - ruby on rails MySQL 服务器版本,以便在 '? 附近使用正确的语法 find_by_sql
看法:
我收到以下错误:
我基本上想要的是获得我喜欢的帖子
mysql - Rails & MySQL - 如何在 rails 的 find_by_sql 中使用 LIKE 运算符和 %?
如何删除变量周围的引号,以便可以在 rails 的 find_by_sql 中使用 LIKE 运算符?
将产生
什么时候@something = 'hello'
ruby-on-rails - 如何在 Rails 中使用与 find_by_sql 的关联?
我有一个很长的 SQL 查询,我在 rails Model.find_by_sql 中使用它,我必须在该查询中添加几个条件,就像我想获取 parent.is_allowed 为真的所有记录一样。
这意味着我正在获取所有子元素,并且我想使用子元素和父元素之间的关联。在子表中,我们有 parent_id。
谢谢
ruby-on-rails-3.2 - 如何使用 find_by_sql 检索 BigDecimal?
我正在使用 postgreSQL 进行求和,并希望对结果进行一些计算,但 rails 返回一个字符串而不是 bigdecimal 并拒绝将其转换为 bigdecimal。
这是我的 find_by_sql 和计算代码:
产生以下错误:
=== 更新 ===
下面的答案给了我一个想法:我的模型 ProjMesure 确实有一个BigDecimal 属性(montant_reference)。因此,我没有用任意名称(总计)命名我的总和,而是使用了 BigDecimal 属性的名称 : SUM(c.montant) AS montant_reference
。
这个技巧可以自动将字符串解析为 BigDecimal。仅当您不打算在查询结果中使用此属性时才有可能。
我的新 SQL 请求:
ruby-on-rails - 为什么 find_by_sql 不能与 PostgreSQL 一起使用?
我有一个 PostgreSQL 查询,它按月汇总值,从日期中提取月份值:
直接在 DB 控制台中执行查询后,我得到如下信息:
使用 Rails 的find_by_sql
功能时会出现问题。和值正确返回,但日期值返回为零vendor
。invoice_total
这是我的电话。我什至尝试过硬编码值,但什么都没有,但就像 Extract 函数不会在 Rails 中执行:
我已经进行了一些调试,并且我传递的值不是零也不是错误的。
sql - find_by_sql 更改别名列的数据类型
一个基本的 ActiveRecord 查询返回一个不带引号的 id,例如:
User.first.attributes => {"id"=>2, ...
在 find_by_sql 中,别名列与引号中的值一起返回,在这种情况下参见 id:
all = User.find_by_sql("SELECT u.id as u_id from users u").first.attributes => {"u_id"=>"2"}
如何避免引用值?
sql - Rails 自定义 SQL 查询不适用于 find_by_sql
我的 Rails 应用程序中有三个 Tables 用户 user_groups 和 user_groups_users。现在,我编写了一个 SQL 查询
提取那些 user_group_id,它恰好具有输入提供的 user_ids。在这种情况下,1,4 将作为 ruby 数组 [1,4] 提供。
现在,我想为我的 rails 应用程序编写这个 SQL 查询。但是,当我find_by_sql
在 rails 中使用语句执行此查询时,它会返回正确的编号。特定 user_id 所属的 user_groups,但结果不显示 user_group_id。
=> [#<UserGroup >, #<UserGroup >, #<UserGroup >, #<UserGroup >, #<UserGroup >, #<UserGroup >]
那么我如何从中提取 User_group_id 。
但是,当我通过直接连接到数据库来执行查询时。我得到了想要的结果
sql = "SELECT user_group_id FROM user_groups_users WHERE user_id IN (1,2) GROUP BY user_group_id HAVING Count(DISTINCT user_id) = 2;"
records_array = ActiveRecord::Base.connection.execute(sql)
但是,这里的问题是,我将如何使用字符串替换技术来使用作为输入的 user_ids。