問題タブ [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 - kamanariによるfind_by_sqlとページネーション

外部データベースに接続するモデルがあり、次のように find_by_sql メソッドを使用してクエリを実行します。

External.find_by_sql("SELECT * テーブルから")

ただし、.page(params[:page]) を追加すると、「クラス配列の未定義メソッド ページ」というエラーが表示されます。find_by_sql を使用してフェッチされた結果をページ分割することは可能ですか?

0 投票する
2 に答える
3844 参照

mysql - find_by_sqlでsql変数を使用するレール

私はこのクエリを持っています:

起動すると動作します

しかし、次のようなfind_by_sqlメソッドに入れた場合:

次のエラーが返されます。

どのようにできるのか?

ありがとう

0 投票する
0 に答える
405 参照

ruby - DataMapper と find_by_sql の問題

返された DataMapper::Collection に、time_difference だけでなく、gold_spent と points_spent も含めるにはどうすればよいですか?

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したい。

2番目の編集:

「邪悪な」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 というテーブルもあります。製品には多くの作成者がいて、作成者は多くの製品を持つことができます。私がやりたいのは、クリエイターがいる製品を見つけることです。一部の製品にはクリエイターがいない可能性があります。

以下のコードを書きましたが、よりレールに適した方法で書くにはどうすればよいですか? これは Rails コンソールで機能しますが、コードに入れると未定義のメソッド「includes」が表示されます #

ありがとう!

0 投票する
3 に答える
1449 参照

ruby-on-rails - find_by_sqlがRails3.1.3で機能しない

私はRubyonRails 3.1.3で非常に複雑なクエリを作成しており、find_by_sqlを使用しています。

しかし、非常に単純なクエリでfind_by_sqlを使用したとしても、非常に奇妙な動作に気づきました。

簡単な例を次に示します。

2つのモデルと関連するテーブルがあるとしましょう。

と:

これが何が起こるかです。私が書いた場合:

私は得る:

会社の名前と一致する(つまり、フィールド年齢が欠落している)従業員のフィールドのみを取得します。@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 クエリの結果を出力しない

SQL クエリの結果を出力するためにactiverecordandを使用しています。find_by_sql

私は得る

等...

実際の結果が必要です。

前もって感謝します

マーク

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を使用して、find_by_sqlを呼び出すために使用されたモデルよりもいくつかの余分な列を持つ2つのテーブルのUNIONを取得しました。

例えば:

次のような Shape モデルを使用して、円と正方形の UNION を取得しました。

ここで、@shapes を使用してすべてのレコードを created_at と updated_at で表示すると、次のように常に文字列オブジェクトで返されます。

さて、次のようにデータベースで定義された型のオブジェクトとしてすべての値を取得できる最良の方法は何ですか: