問題タブ [has-many]
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 - :finder_sqlの制限
Railsアプリでは、has_many宣言で:finder_sqlオプションを使用しています。Railsのドキュメントには、これを行うと「find_in_collectionは追加されない」と書かれています。これは何を意味するのでしょうか?
ruby - ポリモーフィック has_many 自己参照
私はいくつかのモデルを持っています (記事、ビデオ、写真)
今、私は related_to 関連付けを作成しようとしています。
記事には、それに関連する他の多くの記事、ビデオ、および写真を含めることができます。ビデオや写真も同様です。
私が試したことは次のとおりです。
モジュール ActsAsRelatable
終わり
class RelatedItem < ActiveRecord::Base 所属先 :source, :polymorphic => true 所属先 :related, :polymorphic => true end
次に、acts_as_relatable を 3 つのモデル (Article、Video、Photo) に追加し、モジュールを ActiveRecord::Base に含めました。
./script/console で試してみると、関連アイテムが追加され、ID が正しく機能しますが、source_type と related_type は常に同じです (related_items が呼び出されたオブジェクト) related_item を他のモデル名にしたいです。
アイデアはありますか?
ruby-on-rails - [has_many :through] アソシエーション「パス」はどのくらいの深さ (何テーブル離れているか) にできますか?
次の db 設計例は、Agile Rails ブックで has_many :through code を教えるために提供されています...
[記事]----<[読み物]>----[ユーザー]
これはすべて、最初は非常に簡単に理解できます。ただし、次のデータベース設計が使用される可能性がある状況があります。
[ジャンル]-----<[記事]-----<[読み物]>-----[ユーザー]
ここに私の質問があります:
has_many :through 関連付けを使用して、次のようなコードを作成できますか?
アーティスティックマインド_ユーザー=アート.ユーザー
これができる場合、has_many アソシエーションをどのようにセットアップしますか??
ruby-on-rails - Rails で has_many を逆にした
モデルがあるとしましょう: User と Item およびそれらの間の多対多の関係。定義された属性を持つ正確に (それ以上) アイテムを持っていないユーザー、つまり、色 = ['red', 'black'] のアイテムを持っているユーザーを取得する方法。
もちろん、私はこのようなことをすることができます:
しかし、より多くの属性については、かなり面倒です。私もできる:
しかし、これは、色 = ['red', 'black', 'blue', 'etc'] を持つアイテムを持つユーザーも返します
だから、唯一の解決策は、すべてを取得し、ルビ構文でソートすることですか? 1 つの SQL クエリまたは Rails AR 構文でそれを行う方法は?
ruby-on-rails - アクティブレコードの関連付けを保存せずに強制的に更新できますか?
has_many
belongs_to
ペアに関連付けられているモデルがいくつかあります。デモンストレーションのために、クライアントには 1 つのサーバーがありますが、サーバーには多数のクライアントがあります。私はこのようなことをするかもしれません:
私の実際のアプリケーションはこれよりもかなり複雑ですが、この例は説明のために機能します。
これらのオブジェクトを保存する前に、これらのオブジェクト間の関連付けを検査したいと考えています。ただし、ActiveRecord は保存されるまで情報を更新しません。上記の例では、は、 、 、またはのうちの 1 人が保存されるまで、the_server
誰client1
でclient2
あるかわかりません。client3
これにより、active_record の効率が向上することは確かですが、メモリ内のモデル インスタンスが一貫性のない状態のままになります。
クライアントまたはサーバーで、状態を更新するために呼び出すことができるものはありますか?
activerecord - has_many 関係で :joins 条件を定義できませんか?
私は関係テーブルを持っています:
動物を他の動物と結びつける。SQL で関連付けを取得する最良の方法は次のとおりです。
そして、これを使用してレールで適切な has_many 関係を作成する方法が見つかりません。どうやら、has_many の結合条件を提供する方法はありません。
私は現在 finder_sql を使用しています:
しかし、この方法にはアクティブレコードの魔法が壊れるという大きな欠点があります。例えば :
finder_sql を無制限に実行し、数千行をフェッチしてから、配列の最初のものを取得します (そして、貴重な数秒/ req を失います)。
ARに欠けている機能だと思いますが、最初に確認したいです:)ありがとう
ruby-on-rails - Rails has_many アソシエーション カウントの子行
親テーブルのすべての行を効率的に取得し、各行にある子の数をカウントする「レールの方法」とは何ですか?
counter_cache
いくつかの時間条件に基づいてこれらのカウントを実行したいので、使用したくありません。
決まり文句のブログの例: 記事の表。各記事には 0 個以上のコメントがあります。
過去 1 時間、1 日、1 週間に各記事に寄せられたコメントの数を取得できるようにしたいと考えています。
ただし、理想的には、リストを反復処理して記事ごとに個別の SQL 呼び出しを行いたくないし:include
、すべてのデータをプリフェッチしてアプリ サーバーで処理するために使用したくありません。
1 つの SQL ステートメントを実行して、すべての情報を含む 1 つの結果セットを取得したいと考えています。
私は完全な SQL をハードコーディングできることを知っています。おそらく a を使用して、 、、およびパラメータ.find
を設定することもできます...しかし、「より良い」方法があるかどうか疑問に思っています...別名「Rails Way」:joins
:group
:conditions
grails - hasMany を使用した Grails の動的な足場: バグですか、それとも構成が間違っていますか?
私は Grails 初心者で、バグと思われる何かに遭遇しましたが、すべてを正しく構成していない可能性は十分にあります。
2 つの単純なドメイン クラスがあります。
と
これら 2 つのドメイン クラスの動的な足場を超えて何もしない、両方のコントローラーがあります。
しかし、DB にプレイヤーのリストがある場合でも、新しいチームを作成するときにそれらの複数選択ボックスが表示されません。
ただし、チームを編集しようとすると複数選択が表示されます
これは新しいアイテムの動的な足場のバグですか、これがどのように機能するのか誤解していますか、それともここで宣言する必要があるものは他にありますか?
どんな助けでも大歓迎です!私が新人であるために、StackOverflow で追加できないスクリーンショットがありますが、それが役立つ場合は、別の方法でそれらを表示できれば幸いです。
ruby-on-rails - has_many と単一テーブルの継承
Feeds と Posts という 2 つのエンティティ間に has_many 関係があります。特定の種類の投稿、ビデオ、写真もあります。これは、単一テーブル継承を使用してデータベース内で構造化されます。
現在、フィードと投稿 (サブタイプを含む) の間の has_many 関係を指定するフィード モデルがあります。
これを指定するためのより良い、より従来の方法はありますか? それとも、私が持っているものは可能な限り単純ですか?
ruby-on-rails - Rails:belongs_toとhas_oneの比較
Railsアソシエーションに関する初心者向けの質問です。
バグ モデルとステータス モデルがあります。ステータスは、基本的にキーと値のペア テーブルです。利用可能な選択肢の中で、Bug has_one Status が最も理にかなっていると思います。ただし、これによると
コンテンツは ContentTemplate に属しています。戻って、私が問題をどのように説明したかを見てください。それが機能することがわかります。belongs_to を使用すると、テーブルは外部キーの責任を負います。したがって、Content には content_template_id があります。ContentTemplate には何も必要ありません。勝手に指せます。終わり。
Bug belongs_to Status の方が適切です (Bug は外部キーを取得する必要があるため)。意味的には、彼の例は理にかなっていますが、私の例は意味がありません。これは、この状況で奇妙に見える単なるレールの癖ですか、それとも私が何かを理解していない/間違っているのでしょうか?