問題タブ [associations]

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 投票する
2 に答える
3138 参照

entity-framework - Entity Framework - エンティティの関連付けを使用するにはどうすればよいですか?

データベースに PK/FK 関係 (int) を持つテーブルがあり、それらが Entity Framework デザイナーによってモデル化されている場合、すべてが本来あるべきように見えます。以下のコードを書くことができ、すべてがうまくいくように見えますが、コードを実行すると、project.Status.StatusName でオブジェクト参照がオブジェクトのインスタンスに設定されていないというエラーが表示されます。親エンティティにデータを入力すると、フレームワークが関連するエンティティにデータを入力したという印象を受けました。

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

ruby-on-rails - Rails:実際にモデルを持たない結合レコードを観察する方法は?

オブザーバーを使用して、JOIN レコードの作成を観察することは可能ですか? たとえば、has_and_belongs_to_many の書籍モデルを持つユーザー モデルがあるとします。作成または削除された books_users レコードを監視することはできますか、それとも BookUser モデルを使用する必要がありますか?

私が観察したいものの例:

また

または何でも!

ありがとう、

デイブ K.

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

ruby-on-rails - Rails ActiveRecord の更新に関する質問

複数のアドレスを持つユーザー モデルがあります。レールでの私のアプリケーションでは、アドレスは必須ではありません。したがって、誰かがユーザーを作成し、ユーザーが作成された後にアドレスを入力したい場合、私のアプリケーションはそれを許可する必要があります。私の問題は、Address モデルの場合、Address Line 1、City、および Postal Code の検証があることです。これらのフィールドを空白にすることはできません。ユーザーを編集すると、次のコードが失敗します。

user.addresses << Address.new

Rails は新しい Address を作成しようとし、Insert コマンドを起動します。モデルで必要な検証のために、これは失敗します。ユーザーがデータベースに存在しない場合、上記のコードは失敗しません。この問題の解決策の 1 つは、ユーザーのパーシャル編集用に別個の form_for バインディングを作成することです。私はその解決策をしたくありません。データベース内の既存の User オブジェクトに空の Address オブジェクトをバインドできるソリューションはありますか?

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

ruby-on-rails - ActiveRecord の has_n 関連付け

オブジェクトが別のクラスの正確に n 個のオブジェクトに関連付けられている関係をモデル化する最良の方法は何だろうと考えていました。has_one 関係を特定の値 n に拡張したいと考えています。

たとえば、TopFiveMoviesList は user に属し、ちょうど 5 つの映画を持っています。基になる SQL テーブルには、movie_id_1、movie_id_2、... movie_id_5 などのフィールドがあると思います。

has_many リレーションシップを実行して、モデル レベルで子の数を制限できることはわかっていますが、中間テーブルは必要ありません。

0 投票する
5 に答える
20519 参照

uml - UML クラス図の関連付け - どのように、いつ、なぜ?

私はたいてい UML と混同してしまいますが、この状況も例外ではありません。インターフェイス IAnimal、クラス Food および Cat があるとします。

これら 3 つの要素の UML クラス図の描画について 3 つの質問があります。

  • IAnimal と Food または Cat と Food の関連付けを使用する必要があると思います。アソシエーション ラインの片側に矢印がありますか? はいの場合、どの側にあり、なぜそこにあるのですか?

  • ダイアグラムで Feed を IAnimal メソッドとして記述する場合、クラス Cat 内にメソッド Feed を記述する必要がありますか、それとも追加の Cat メソッドのみを記述する必要がありますか?

  • 最も重要なのは、関連付けを IAnimal と Food、Cat と Food、またはその両方にする必要があるかどうかです。

0 投票する
5 に答える
9678 参照

django - Django でモデル間のポリモーフィックな関係を定義するにはどうすればよいですか?

Offerモデルを含む Django アプリケーションに取り組んでいます。インスタンスには価格設定条件がOffer含まれており、製品定義を指しています。製品モデルは実際には階層です (Televisionモデル、Camcorderモデルなどがあります)。したがって、Offerモデルには、任意の製品を指すポリモーフィック (または「ジェネリック」) 関連付けが含まれている必要があります。

今のところ、私が見つけたのは、アプリケーションで一般的な関連付けContentTypesを使用することだけです。これでいいかもしれませんが、もしあれば代替手段を探しています。

ご協力いただきありがとうございます。

(回答ごとに1つの解決策をお願いします)

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

ruby-on-rails - has_many からエレガントに属性を選択:Rails の結合モデルを通じて

has_many :through アソシエーションの結合モデルから属性を選択する最も簡単でエレガントな方法は何だろうと思っています。

次の Item クラスを持つ Item、Catalog、および CatalogItems があるとします。

さらに、CatalogueItems に position 属性があり、任意のカタログと任意のアイテムの間に CatalogueItem が 1 つしかないとします。

位置属性を取得するための最も明白ですが、少しイライラする方法は次のとおりです。

@item.catalogs.first.position を実行できるように見えるので、これは面倒です。これは、必要な位置 (@item の最初のカタログに対応する位置) を完全に指定したためです。

これを取得するために私が見つけた唯一の方法は次のとおりです。

これで、Item.catalogs.first.position を実行できます。ただし、これはちょっとしたハックのように思えます。Catalog インスタンスに追加の属性を追加しています。また、@catalogs に Catalog.find または @item.catalogs を入力する 2 つの異なる状況でビューを使用しようとする可能性も開きます。ポジションが存在する場合もあれば、存在しない場合もあります。

誰もこれに対する良い解決策を持っていますか?

ありがとう。

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

ruby-on-rails - Railsのアソシエーションへのアクセス

Railsで特定のモデルが属するモデルのリストを取得する方法はありますか?

例えば:

これが何らかの意味をなすことを願っています!

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

ruby-on-rails - アソシエーションのパフォーマンスの向上

今、私が言うならば、私は多くのヒットを持っているキャンペーンと呼ばれるテーブルを持っています:

これには4秒、つまり4213ミリ秒かかります。

代わりにこれを呼び出す場合:

それでもすべてのヒットをロードしてからカウントしますか?それとも、私がカウントしていることを確認し、すべてのヒットをロードしないようにしますか?(現在300,000行以上です)。

ヒットをロード/カウントするスマートな方法を見つけようとしています。Campaign.rbモデルに次のようなメソッドを追加することを考えています。

クエリがテーブルから読み込まれないことは知っていますがhits、これは、Ruby on Railsがこれを実行するのとは対照的に、自作のクエリからクエリをカウントする例にすぎません。

このmemcacheクエリはより効率的でしょうか?(私はそれを実行していますが、同じ速度で、より良い/より速い/より遅いようには見えません。)

どんな提案も素晴らしいでしょう!

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

ruby-on-rails - この関連付けられた create 呼び出しが機能しないのはなぜですか?

多くのアイテムを持つユーザー モデルがあります。評価はユーザーとアイテムに属します。

DB で、ratings.user_id を NULL 以外に設定しました。

私がアイテムを作成しているとき、私はこれをしたいと思います:

ただし、これはSQLエラー「user_id cannot be nil」で中断します

だから私は create メソッドを次のように書き直しました

これは正常に動作します。

ただし、現在のユーザーのレシーバーから create メソッドを連鎖させると、評価の user_id が取り込まれてしまうと考えていました。なぜだか知っている人はいますか?

ティア。