問題タブ [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 投票する
1 に答える
8365 参照

ruby-on-rails-3 - Rails3の配列形式のfind_by_sql

良い一日!

Rails 3でfind_by_sql()を使用して、次のようにレコードをフェッチしています。

複数のパラメータが同じ属性に適用される場合に同じステートメントを変更する方法。たとえば、次のようになります。

ここで、sent_id属性とfrom_id属性の両方同じパラメーターparams [:id]を受け取ります。

したがって、同じparams [:id]を2回渡す代わりに、順序に基づいてパラメーターを渡すために使用できるメカニズムはありますか?

0 投票する
1 に答える
116 参照

sql - 下位階層レベルの Rails find_by

私は次のモデルを持っています:

ここで、単一の SQL を生成するステートメントを使用して、特定の会社の任意のプロジェクトから次の締め切りを取得したいと考えています。

すなわち

私が望んでいないのは、すべての会社の従業員を繰り返し処理し、従業員ごとに 1 回 DB にアクセスして、次の期限を確認することです。

よりエレガントな検索コマンドはありますか

0 投票する
1 に答える
1002 参照

mysql - ruby on rails MySQL サーバーのバージョンで、near '? find_by_sql

見る:

次のエラーが表示されます。

私が基本的にしようとしているのは、私がお気に入りにした投稿を取得することです

0 投票する
4 に答える
2485 参照

mysql - Rails & MySQL - Rails の find_by_sql で % を使用して LIKE 演算子を使用するにはどうすればよいですか?

Rails の find_by_sql で LIKE 演算子を使用できるように、変数を囲む引用符を削除するにはどうすればよいですか?

譲ります

いつ@something = 'hello'

0 投票する
1 に答える
312 参照

ruby-on-rails - Railsでfind_by_sqlとの関連付けを使用するには?

Rails Model.find_by_sql で使用している長い SQL クエリがあります。parent.is_allowed が true であるすべてのレコードをフェッチするように、そのクエリにいくつかの条件を追加する必要があります。

つまり、すべての子要素をフェッチしていて、子と親の間の関連付けを使用したかったということです。そして、子テーブルにはparent_idがあります。

ありがとう

0 投票する
1 に答える
398 参照

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リクエスト:

0 投票する
1 に答える
605 参照

ruby-on-rails - find_by_sql が PostgreSQL で機能しないのはなぜですか?

日付から月の値を抽出して、月ごとに値を合計する PostgreSQL クエリがあります。

DB コンソールで直接クエリを実行すると、次のような結果が得られます。

問題は Rails のfind_by_sql関数を使用するときに発生します。vendorとのinvoice_total値は正しく返されますが、日付の値は nil として返されます。

これは私の呼びかけです。ハードコードされた値を試してみましたが、Rails では Extract 関数が実行されないようです。

私はすでにいくつかのデバッグを行っており、渡した値は nil でも間違っていません。

0 投票する
1 に答える
89 参照

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"}

値の引用をどのように回避できますか?

0 投票する
1 に答える
490 参照

sql - RailsカスタムSQLクエリがfind_by_sqlで機能しない

Rails アプリケーションには、user_groups と user_groups_users という 3 つのテーブル ユーザーがいます。今、私はSQLクエリを書きました

入力によって提供されたuser_idsを正確に持つuser_group_idを抽出します。この場合、1,4 はルビ配列 [1,4] として提供されます。

ここで、Rails アプリケーション用にこの SQL クエリを書きたいと思います。しかしfind_by_sql、レールでステートメントを使用してこのクエリを実行すると、正しい番号が返されます。特定の user_id が属している user_group のうち、結果には 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 を使用するために、文字列置換手法をどのように使用するかです。