問題タブ [object-relationships]

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

repository - 値オブジェクトの関係をモデル化する方法

コンテキスト:
エンティティ Book があります。ブックには、1 つ以上の説明を含めることができます。説明は値オブジェクトです。

問題:
説明は、別の説明よりも具体的である場合があります。たとえば、説明に本の内容と表紙の外観が含まれている場合、表紙の外観のみを説明する説明よりも具体的です。これをモデル化する方法と、リポジトリに保存する方法がわかりません。これらの関係を知ることは、本や本の説明の責任ではありません。他のオブジェクトがこれを処理し、リポジトリに関係を保存するように依頼できます。しかし、BookRepository.addMoreSpecificDescription(Description, MoreSpecificDescription) はリポジトリの保存が難しいようです。

そのようなことはDDDでどのように処理されますか?

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

java - JPA - エンティティ設計の問題

私はJavaデスクトップアプリケーションを開発しており、JPAを永続化に使用しています。以下の問題があります。

私は2つのエンティティを持っています:

国には次の属性があります。

  • 国名 (PK)

City には次の属性があります。

  • 都市名

2 つの異なる国に同じ​​名前の 2 つの都市が存在する可能性があるため、データベース内の City テーブルの primaryKey は、CityNameとで構成される複合主キーCountryNameです。

今私の質問は、主キーをJavaで実装するCity方法Entityです

Countryからへの関係がわかっているのでCityOneToMany上記のコードでこの関係を示すために、クラスにcountry変数を追加しました。City

しかし、クラスのオブジェクトcountryName内の 2 つの場所に重複した data( ) が格納されています。1 つはオブジェクト内、もう1 つはオブジェクト内です。CitycountrycityPK

しかし一方で、両方が必要です。

  • countryNamecityPKこのように複合主キーを実装するため、in object が必要です。

  • countryNamein countryobject は、オブジェクト間の関係を示す標準的な方法であるため、必要です。

この問題を回避するにはどうすればよいですか?

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

php - CakePHP - カスタム hasOne オブジェクトの関連付け - テーブル内の外部キーの代わりに結合テーブルを使用しますか?

CakePHP で、$hasOne 関係を構築しようとしていますが、テーブルに外部キーを追加できません (従来の理由により)。結合テーブル (object1_object2) を作成して、このようにリンクする方法はありますか? Cake の強力なオブジェクト関係機能を活用したいので、find() ごとにカスタムの $options 配列を常に構築することなく、このカスタムの関連付けをモデル全体で永続的にできる方法があれば、それは素晴らしいことです。(モデルの initalize() 内の bindModel でしょうか?)

ありがとう!

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

ruby-on-rails - Rails - CanCan - 基本的な質問

  1. モデルから CanCan を使用するにはどうすればよいですか?

  2. 次のような関係があるとしましょう: 従業員は店舗に属し、ボスは複数の店舗を管理します。CanCan (正しい方法) を使用して、特定の上司のアクセスを制限し、特定の店舗に属する従業員のみを読み取ったり更新したりできるようにするにはどうすればよいですか?

答えられる人に感謝します!:)

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

php - データベース モデルを反映するクラスの作成

私は最初のオブジェクト指向プロジェクトを php で書こうとしています。以前に oop を行ったことがありますが、それはしばらく前のことであり、データベース モデルを使用した Web 開発ではなかったので、少し異なり、作成に問題があります。クラス。

とにかく、私の問題は、私がこの 1 つのオブジェクトを持っていることです。それを x と呼びましょう。x には所有者 y がいて、x 内にクラス person のインスタンスがあり、所有者 y にはアカウント z があります。

すべてが正常に機能するように、x の所有者情報と所有者のアカウント情報に問題なくアクセスできます。

しかし、私は両方の方法で作業する必要があります。アカウントを検索して、そのアカウントとすべての x を所有している人物を見つけることができる必要があります。

Cakephp はこれらの関係を処理できますが、この種のシステムを自分で作成する方法についてのガイドは見つかりません。

ありがとう。

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

django - 1つの関係または別の関係を持つことができるDjangoモデルクラス?

私が解決しようとしている問題のアイデアを提供するために、例を使用します。問題は、クラス間に複数の可能な関係が存在する可能性があることと、モデル ファイルでこれを表現する方法です。ショッピング Web サイトでは、Department は Sub-Department または Category リレーションシップを持つことができます。これは、理論的には、1 つの部門がカテゴリを持つまで 100 のサブ部門を持つことができることを意味します。

例: 部門/カテゴリ/アイテム、部門/部門/カテゴリ/カテゴリ/アイテム、部門/カテゴリ/カテゴリ/アイテム...など

私の質問は、Django models.py ファイルでこの関係をどのように説明するのが最善ですか? 外部キーを 2 つだけにして、1 つを空にしますか?

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

entity-framework - FluentAPIとのEFCFマッピングの複雑な関係

TagオブジェクトのTagTypeが有効になるように、モデルに次の制約を作成しようとしています。有効なTagTypeは、OperatingCompanyIdがタグのWebサイトのOperatingCompanyIdと一致するものです。これは複雑に思えますが、ビジネスの観点からは理にかなっています。

運営会社にはウェブサイトがあります。ウェブサイトにはタグが含まれています。タグにはTagType(単数)があります。TagTypesは事業会社間で同じです。つまり、1つの事業会社が20のTagTypeと5つのWebサイトを持っている場合、それらの20のTagTypeはそれらの5つのWebサイトすべてで使用できるはずです。タグのTagTypeが別のOperatingCompanyに関連付けられていないことを確認したいと思います。

モデルでこの制約を作成するための最良の方法は何ですか?POCOを変更する必要がありますか、それともFluent APIを使用する必要がありますか?

前もって感謝します!

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

oop - 「Aである」VS「Aのようである」関係、それぞれは何を意味し、それらはどのように異なりますか?

議論する最初の例:

「isA 」とisLikeA」の関係と、それらの違いについて、先生と話し合いました。

私の意見(私が覚えていないところを読んだ)は、「is A」の関係は、親クラスとそれから継承された子クラスの間にあり、新しいメソッドや属性を追加しても影響を受けないということです。子クラスから"はA "親クラス、上記の例では、すべての、、ExactDuplicateまたはExtraMethods"ExtraAttributesA "Fooです。「isLikeA」の関係は、同じParentクラスから継承された2つのChildクラスの間にありますが、上記の例では、すべてのExactDuplicateis Like」、everyExtraMethodsまたはExtraAttributes、およびその逆です。

私の先生の意見では、「is A」関係は親クラスと、余分なメソッドや属性を追加しない子クラスのみの間にあるため、上記の例では、との間の「isA」関係1つだけです。「 isLikeA 関係は、親クラスと子クラスの間にあり、メソッドまたは属性が追加されます。したがって、上記の例では、との間に「is Like A」の関係があり、との間にあります。FooExactDuplicateFooExtraMethodsExtraAttributes

ほとんどの場合、何も追加されていなければ実装を変更する理由がないため、私の先生が定義した「isA」の関係はあまり役に立ちませんこれがポイントです。もう1つは、Car「」「」のようVehicleではなく、実際には「」は「A」ですがVehicleVan「」は「A」のようCarです。どちらもいくつかの特性を関連付けているためです。

では、どちらが正しいのか、そしてその理由は何ですか?、説明をいただければ幸いです。

また、私の先生の意見が本当の場合、属性のみを追加すると、関係は「Aのような」関係になりますか、それとも「Aのような」関係になるために新しいメソッドを追加する必要がありますか?子クラス間の関係は(存在する場合)何ですか。

私の質問が明確で理解できることを願っています。

どんな助けでも大いに感謝されるでしょう:)

0 投票する
0 に答える
50 参照

ruby-on-rails-3 - 'or' ステートメントを使用した ActiveRecord belongs_to

私が開発しているアプリにはローカル データベースがありますが、一部のデータのために外部データベースにも接続する、ちょっと変わったシステムがあります。

要件の 1 つは、メーカーが外部データベースに見つからない場合、外部データベースが更新されるまでローカル データベースに一時的なエントリを作成することでした (私の管理下ではありませんが、通常は 48 時間以内に更新されます)。

したがって、私が作成したのは、メーカーが外部データベースに追加されるまで詳細を保持する temp_manufacturer テーブルでした。

製品がメーカーに属していることを除いて、それは正常に機能し、メーカーが外部データベースに登録されるまで製品を追加できないようです。私の製品モデルでは

もちろん、ここでの問題は、manufacturer_id を渡していますが、manufacturer_id が外部データベースのメーカー テーブルにないことです。

私がやりたいと思っていたのは、次のようなものでした

しかし、これは可能ではないようです。

このような親子関係を「偽造」する別の方法はありますか?

残念ながら、アプリからメーカー テーブルを更新することはできませんが、新しいメーカーに使用される ID を取得することはできます。

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

javascript - Raphael パスからデータベース ID への関係の作成

特定の座標パスを持つ Raphael との間取り図を作成しました。これらのパスはそれぞれ特定の座席を指しています。座席は円で表されます。その円の上にマウスを置くと、アクションが実行され、ツール ヒントが表示されます。そのテーブルの一部の特定のデータは、Ajax を使用してデータベースから表示されるツール ヒントにフィードする必要があります。

管理者側では、各座席の特定の情報を含むデータベースを作成します。つまり、座席番号 (座席番号 4、座席番号 105A など)、座席エリア (メザニン、1 階など) およびその他のいくつかのデータ ポイントです。ツールチップの内側に入ります。

私たちの問題は、各パス (円) に ID を割り当て、それを管理側のデータ ポイントに関連付ける方法がわからないことです。

私たちが望むのは、管理者側で座席データを作成するときに、中二階セクションの座席番号 10 を例にとると、そのパスがその特定の座席番号でそれ自体を識別し、すべての特定のデータをプルする方法を作成することです。そのツールチップ。

そのため、座席を表す Raphael 座標パスと、SQL 2008 データベースの座席データとの間の関係を構築する方法を知りたいと考えています。