问题标签 [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.

0 投票
3 回答
3556 浏览

ruby-on-rails - find_by_sql 和 kamanari 分页

我有一个连接到外部数据库的模型,我使用 find_by_sql 方法进行查询,如下所示:

External.find_by_sql("SELECT * from table")

但是,当我添加 .page(params[:page]) 时,会出现错误“类数组的未定义方法页面”。是否可以对使用 find_by_sql 获取的结果进行分页?

0 投票
2 回答
3844 浏览

mysql - rails 在 find_by_sql 中使用 sql 变量

我有这个查询:

如果我启动它就可以了

但如果我把它放在一个 find_by_sql 方法中,比如:

它返回此错误:

我能怎么做?

谢谢

0 投票
0 回答
405 浏览

ruby - DataMapper 和 find_by_sql 问题

如何让返回的 DataMapper::Collection 也包含 gold_spent 和 points_spent 以及 time_difference?

gold_spent、points_spent 和 time_difference 不应该属性(或者有没有办法让它成为 DM 属性而不是在数据库中?)

0 投票
6 回答
17564 浏览

ruby-on-rails - Rails,如何在 find_by_sql 中清理 SQL

有没有办法在 rails 方法中清理 sql find_by_sql

我试过这个解决方案: Ruby on Rails: How to sanitize a string for SQL when not using find?

但它失败了

它抛出一个错误,但是执行了 sql 代码并且 ID 为 2 的用户现在有一个禁用的帐户。

简单find_by_sql也不起作用:

编辑:

好吧,我的客户要求在管理面板中创建该功能(通过 sql 选择)以进行一些复杂的查询(连接、特殊条件等)。所以我真的很想find_by_sql那个。

第二次编辑:

我想实现不会执行“邪恶”的 SQL 代码。

在管理面板中,您可以键入 query ->Update users set admin = true where id = 232我想阻止任何 UPDATE / DROP / ALTER SQL 命令。只想知道,在这里你只能执行 SELECT。

经过一些尝试,我很sanitize_sql_array遗憾地得出结论,不要那样做。

有没有办法在 Rails 中做到这一点?

对困惑感到抱歉..

0 投票
1 回答
305 浏览

sql - Rails 和 sql:重写 find_by_sql

我有一个 Product 和 Creator 表,我还有一个名为 CreatorProduct 的表,它将创建者与产品连接起来。一个产品可以有很多创作者,一个创作者可以有很多产品。我想做的是找到有创作者的产品,有些产品可能没有创作者。

我已经编写了下面的代码,但是如何以更友好的方式编写它?这适用于我的 in rails 控制台,但是当我将其放入代码中时,我得到未定义的方法 `includes' for #

谢谢!

0 投票
3 回答
1449 浏览

ruby-on-rails - find_by_sql 在 Rails 3.1.3 上不起作用

我正在 Ruby on Rails 3.1.3 中编写一个相当复杂的查询,并且我正在使用 find_by_sql。

但我注意到一个非常奇怪的行为,即使我使用 find_by_sql 和非常简单的查询。

这是一个简单的例子:

假设我有两个模型和相关表:

和:

这是发生的事情;如果我写:

我得到:

我只得到名称与公司名称匹配的员工的字段(即字段年龄缺失)!根本没有@attributes。

它是一个错误吗?谁能帮帮我吗?

0 投票
0 回答
500 浏览

ruby-on-rails-3.1 - rails find_by_sql LIKE escaping %

I am trying to execute a find_by_sql statement which involves a SELECT statement with a LIKE operator. For sake of brevity, let's assume the statement is "SQL * FROM posts where lower(name) LIKE '%hello%'"

Seems like rails throws an exception about "% being a malformed format string". I have tried to escape the sql statement using "SQL * FROM posts where lower(name) LIKE '\%hello\%'"

Still the same error message shows up. Any ideas ?

0 投票
4 回答
3166 浏览

sql - Activerecord find_by_sql 不输出SQL查询结果

我正在使用activerecordandfind_by_sql来输出 sql 查询的结果:

我明白了

ETC...

我需要实际的结果。

提前致谢

标记

0 投票
2 回答
1980 浏览

sql - 如何清理 Rails 中的 SQL?

我是这个 RoR 世界的新手,

我的 RoR 应用程序中有许多 SELECT sql 查询,像这样

有些像上面一样非常简单,有些是非常复杂的 JOINS。他们中的大多数人都患有SQL 注入 问题。那么,如何清理 RoR 中的此类 SQL 语句?

编辑:如何在具有 JOINS 和子查询的 SQL 语句中处理相同的问题?像这样的东西

0 投票
0 回答
1490 浏览

ruby-on-rails - Rails 2.2.2:find_by_sql 返回所有列值作为字符串对象的结果集

我已经使用 find_by_sql 来获取两个表的 UNION,这两个表的列比用于调用 find_by_sql 的模型多一些,

例如:

我使用 Shape 模型对圆形和正方形进行了 UNION,如下所示:

现在,当我使用 @shapes 显示所有带有 created_at 和 updated_at 的记录时,它总是在字符串对象中返回,如下所示:

现在,什么是最好的方法,我可以将所有值作为数据库中定义的类型对象,如下所示: