問題タブ [bidirectional-relation]

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

mysql - 1 対多の双方向マッピングに不平を言うと、デフォルト値のエラーがありません

私は2つのエンティティクラスを持っています。

パブリッククラス従業員{

}

パブリック クラス スキル {

}

両方とも UNI-Directional の場合、スキルに関連付けられた従業員オブジェクトを保存できます。

BI-Directional にしようとすると、SQL エラーが発生します。Field 'skill_id' doesn't have a default value

どこを間違えたのかわかりません。ご指摘いただけますでしょうか。

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

cakephp - 同じモデルの双方向の belongsToMany アソシエーション

これEntitiesTableには、それ自体との belongsToMany 関連付けがあります。

ただし、この関連付けは一方向にしか機能しません。テーブルlinksにエントリのみが含まれている場合、 はリンクされたエンティティ[from_id: 1, to_id: 2]$this->Entities->findById(1)->contain('LinkedEntities')正しくフェッチしますが、フェッチ$this->Entities->findById(2)->contain('LinkedEntities')しません。

1 つの解決策は、テーブル内のすべてのエントリを複製してとlinksを交換することですが、これは望ましくありません。私はむしろ、 asとasおよびその逆を考慮して、begsToMany アソシエーションを望んでいます。from_idto_idfrom_idforeignKeyto_idtargetForeignKey

双方向の belongsToMany 自己関連付けはどのように実装できますか?

次のグラフのようなネットワークを考えてみましょう。

グラフ

各ドットにはid追加情報 (タイトルや座標など) があり、 table に格納されますentities

ドット間の接続は、表を使用して表すことができますlinks

各接続は 1 回だけ存在することに注意してください。1-2 は 2-1 と同じように保存できます。from-to の方向は関係ありません。

ここで、ノード 1 に接続されているすべてのノードを取得する場合は、次のクエリを使用できます。

それがどれほど簡単だったかわかりますか?接続は双方向であるため、両方の方向を確認する必要があります。

この関連付けを CakePHP でマップします。私はこれが現在不可能である可能性が非常に高いことを知っています.

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

uml - UMLにおける双方向関係の特徴?

これを考慮してください:

ここに画像の説明を入力

私の知る限り、ケース 1aは に関連してbおり、がにメッセージを送信できることは認識していますが、 が にメッセージを送信できaないことは認識していません。babbaba

一方、 2aが に関連してbおり、両者がお互いを認識している場合、両者はメッセージを相手に送信できます。

しかし、私の質問は、関係が関連付けではなく集約である場合はどうでしょうか? 両方のインスタンスがお互いを認識できるように、UML で集約関係に双方向の移動可能性を持たせることはできますか?

aを所有している場合はb、結果としてaを認識していbます。(つまり、aは にメッセージを送信できますb)。しかし、その逆baどうでしょうか。または、これは決して当てはまりませんか?それとも、これは図で指定されていないだけで、これは両方の方法である可能性がありますか? そして、それがどのように表現されるかをb認識しなければならない場合(反対側に矢印が付いた集計行を見たことがない)?a

これはすべて、構成にも同じように適用されますか?

これに少し関連するもう 1 つのことですが、双方向ではない関連付けに 2 つの役割があるのではないかと考えていました。

非双方向の関係は、関連するインスタンスの 1 つだけが他のインスタンスを認識している場合の関係であり、役割はインスタンスが別のインスタンスを認識する方法を意味するため、私が知る限り、これは不可能です。したがって、両方のインスタンスが必要です。 2つの役割を持つことができることをお互いに認識していますが、これは正しいですか?

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

java - 集約 + 多重度 UML の明確化

UML : 集約 + 多重度

クラス A の横にある中空のダイヤモンドと、クラス B の横にある多重度が、クラス A と B の関係について何を意味するのか理解できません。

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

json - jacksonMapper を使用すると、双方向の関係で子データが失われる

以下に示すように、双方向の多対多の関係で2つのクラスがあります。

特定の親を取得するために、DAO で呼び出しを行います。親の詳細とともに、親の子を取得したいと思います。このようなもの:

しかし、データをコントローラーに返すときにビジネス サービスで以下を実行すると、子は親の json 文字列から省略されます。

そのため、Parent クラス内の @JsonIgnore on Child 属性を削除しました。以下に示すように、文字列への書き込み中にこれらのフィールドを無視しないことをジャクソンが理解できると考えています。しかし、それはまだそれらを無視します! :(

私が間違っている可能性がある場所はありますか?

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

graph - 双方向関係グラフで neo4j.rb の n レベルの友達を検索する

以下のように定義された User クラスがあります

それぞれ user_id 1 と 2 で とuser1を作成しました。user2

そして、 を使って次の次の次を検索します user1.followings(rel_length: 2)。しかし、との両方が互いにフォローし合っているuser1ため、結果はそれ自体として出てきます。user1user2

order(:breadth_first)すでにアクセスしたノードを除外するために、他の方法を試しました。私は十分な調査を行っていないかもしれませんが、これを行う方法を知っている人はいますか?