問題タブ [squeel]

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 に答える
305 参照

ruby-on-rails-3 - 同じグループを共有するユーザーの要素を取得する Squeel クエリ構文

Ruby on Rails 3.2.13 と Squeel を使用すると、次のモデルがあります。

文字にはブール属性があります:public

Character モデル内で、現在のユーザーに表示されているすべての文字を取得したいと考えています。これは、次の条件によって決定されます。

  1. キャラクターが現在のユーザーに属している OR
  2. キャラクターが公開されている OR
  3. 現在のユーザーがキャラクターのユーザーとグループを共有している

結果はActiveRecord::Relation.

最初の 2 つの条件を一致させるのは簡単です。

3 番目の条件の場合、次のクエリは正しい結果を返しますが、おそらく最善の方法ではありません。

ActiveRecord::Relationさらに、両方のクエリの結果を含む を生成する 2 つの結果を連結する方法を見つけることができません(merge両方のクエリに一致する要素を生成し、 の代わりにを+返します)。ArrayActiveRecord::Relation

単一の Squeel クエリでこれを処理する方法についてのヘルプは大歓迎です。

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

ruby-on-rails - 制限付きの高度なアクティブ レコード クエリ

私はアクティブレコードでより高度なクエリを実行しようとしていますが、それを記述する最良の方法がわかりません。うまくいけば、これは理にかなっています...

私の POSTGRES/rails アプリにはモデルがあります:

評価には小数列 :score があります。会社の名前で評価スコアの低い 10 を取得したいと考えています。しかし、私はまた、各従業員から単一の最低スコアのみを取得したいと考えています。結果リストに 10 のスコアのうち 5 つをすべて同じ従業員 ID から取得したくありません。

私は持っている:

しかし、単一のemployee.idで評価を単一の低い値に制限する方法に苦労しています

これを行う最善の方法は何ですか?