問題タブ [arel]
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 - 複雑なアレルクエリ
記事に複数のタグ(および複数の記事にタグを付ける)を持つことができるモデルがあります。Articleには、製品とキットの2つのサブクラスがあります。製品にはカテゴリがありますが、キットにはありません。
特定のタグ(tag.idを知っています)のすべての記事(キットと製品の両方)を、製品のカテゴリをロードして(n + 1を回避して)取得するにはどうすればよいですか?
ruby-on-rails - アレル、参加方法
与えられた
Rails 3スタックを使用して、製品を「持っている」すべてのカテゴリをクエリするにはどうすればよいですか?
ruby-on-rails - 「投稿がゼロの著者」を見つけるためのスコープを作成するにはどうすればよいですか?
Rails 3 を使用すると、このスコープは期待どおりに機能します。
生成される SQL は次のとおりです。
しかし、その逆は結果を返しません。
投稿がゼロの著者は、単に 3 行目で選択されていないと思います...では、解決策は何ですか?
sql - 集約で無限ループを引き起こす Arel
同じクエリで Arel を使用して 2 つの列を集計するのに問題があります。これを実行すると、rails dev-server がクラッシュする前に、サーバー全体が 1 分間フリーズします。私は無限ループを疑う:)。
Arel の概念全体を誤解している可能性があります。どなたか見ていただければ幸いです。
このクエリの期待される結果は次のようになります: [{:user_id => 1, :sum_account_charges => 300, :sum_paid_debts => 1000},...]
sql - Arel に何が起こったのですか? Arel::SelectManager をどうすればよいですか?
私は必死に Arel を理解しようとしていますが、それは主に SQL を扱うのが嫌いだからです。よくやったけど、壁にぶち当たった。
私はRails 3.0.0で作業しており、数学を含む複雑なクエリを作成しようとしています. 実際のケースはかなり複雑ですが、少し単純化しました。私の例では、特定の文字列フィールドを持つテーブルがあり、すべてのレコードの数と、外部 ID でグループ化されたそのフィールドの 2 つの可能な値のそれぞれの数が必要です。
Rails 3.0.0 では、これを実行できます (コンソール コマンド):
この時点で x.to_sql を実行できます... まあ、それが正しいかどうかは完全にはわかりませんが、foreign_id 列が 2 回あることを除けば、結果は正しく見えます。
ここまでは順調ですね。ただし、次のようなカウントの 2 番目のセットに参加しようとすると、次のようになります。
ハングアップするだけで、このバグにぶつかっていると思います
(ちなみに、追加するカウントがさらにあります。理想的には、「some_thingies」自体が、カウントしているモノに対するより多くのフィルタリングを表すアレルオブジェクトであるべきです...しかし、私は脱線します...)
そこで、最新のエッジである Arel と Rails を試すことにし、それに応じて gem を増やしました。
そして今、最初の結合をしようとすると、惨めに失敗します:
これは Arel のバグではないようです。どちらかといえば、以前は機能していたという事実がバグのようです。私は、Arel::SelectManager とは何か、そしてそれをどうするかを知らないだけだと思います。うまくやっているように見えましたが、実際に何が起こっているのかわかりません。
取得した SelectManager に基づいて新しいテーブルを作成する必要がありますか? または、[] 構文が失敗する構成で何か間違ったことをしていますか? それとも、アレルが何をしているのか完全に理解できていないのでしょうか? 私はまだ Arel::Rows で何をすべきかをよく理解していませんが、コツはつかめると思います。project() を使用すると、結果から余分な外部キーを取り除くことができると思います...
しかし、私はまだかなり迷っています。はぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ!
ps 'railties' は 'frailties' または 'mail guy' と韻を踏んでいますか?
ruby-on-rails - Rails 3 Query Interface: 関連モデルの使用
一般的なブログの例を使用します。
Post にクエリを実行するとき、その関連付け (コメントなど) にどのようにアクセスしますか?
これは世界で最も簡単なことですが、それに関するドキュメントは見つかりませんでした。http://edgeguides.rubyonrails.org/3_0_release_notes.html#query-interfaceとhttp://m.onkey.org/2010/1/22/active-record-query-interfaceでさえ役に立ちませんでした。ジョインやインクルードのようなメソッドで、SQL ステートメントと同じことを行います。」そう、ありがとう。
だから、私がやりたいことは非常に簡単ですが、うまくいきませんが、私が達成しようとしていることは明らかです。
SQL の匂いがする Ruby コードに頼らずにこれらを行うにはどうすればよいでしょうか (したがって、Active Record の目的を無効にします)。ありがとう :)
ruby-on-rails - 片方の親への多型ツリーを上る方法を見つけてください
私は単純なポリモーフィックな関連性を持っています
したがって、IRBでは、Post.commentsまたはComment.commentsを実行できます。
しかし、どうすれば親の投稿を見つけることができますか?
Comment.postのように?
私は現在、一連の.commentable
'を実行することでそれらを取得できます。例えば :
ruby-on-rails - Rails 3 ActiveRecord クエリ、モデルのすべてのレコードを返し、関連付けられたレコードの数を単一のクエリに含める
私は次のモデルを持っています:
すべてのキーワード、各キーワード、およびそのキーワードでタグ付けされた研究の数を含む配列が必要なので、次のように言えます。
これは可能だと確信していますが、問題は次のとおりです。どのように?
sql - Arelを使用したネストされたクエリ(Rails3)
たとえば、2つのモデルがあります。
購入(belongs_to:users)ユーザー(has_many:purchases)
少なくとも1回購入したすべてのユーザーを選択したい。
SQLでは次のように記述します。
そしてもう1つの質問:アレルをカバーする完全なドキュメントや本はありますか?
sql - ORまたはAND(Arel、Rails3)による条件の連結(接着剤)
いくつかの複雑なクエリ(サブクエリなどを使用)があり、ORまたはANDステートメントでそれらを結合したいと思います。
例えば:
何か欲しいのですが
次の例は私にはうまくいきません:
where(..)クエリがいくつかあり、それらを連結したいためです。
言い換えると
私には3つのメソッドがあります:最初に最初に返すwhere、2番目、2番目、3番目-または連結。
アプリケーションで3つのメソッドすべてを使用して、 DRYコードを保存できる必要があります