問題タブ [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.
mysql - 1 対多の双方向マッピングに不平を言うと、デフォルト値のエラーがありません
私は2つのエンティティクラスを持っています。
パブリッククラス従業員{
}
パブリック クラス スキル {
}
両方とも UNI-Directional の場合、スキルに関連付けられた従業員オブジェクトを保存できます。
BI-Directional にしようとすると、SQL エラーが発生します。Field 'skill_id' doesn't have a default value
どこを間違えたのかわかりません。ご指摘いただけますでしょうか。
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_id
to_id
from_id
foreignKey
to_id
targetForeignKey
双方向の belongsToMany 自己関連付けはどのように実装できますか?
例
次のグラフのようなネットワークを考えてみましょう。
各ドットにはid
追加情報 (タイトルや座標など) があり、 table に格納されますentities
。
ドット間の接続は、表を使用して表すことができますlinks
。
各接続は 1 回だけ存在することに注意してください。1-2 は 2-1 と同じように保存できます。from-to の方向は関係ありません。
ここで、ノード 1 に接続されているすべてのノードを取得する場合は、次のクエリを使用できます。
それがどれほど簡単だったかわかりますか?接続は双方向であるため、両方の方向を確認する必要があります。
この関連付けを CakePHP でマップします。私はこれが現在不可能である可能性が非常に高いことを知っています.
uml - UMLにおける双方向関係の特徴?
これを考慮してください:
私の知る限り、ケース 1a
は に関連してb
おり、がにメッセージを送信できることは認識していますが、 が にメッセージを送信できa
ないことは認識していません。b
a
b
b
a
b
a
一方、 2a
が に関連してb
おり、両者がお互いを認識している場合、両者はメッセージを相手に送信できます。
しかし、私の質問は、関係が関連付けではなく集約である場合はどうでしょうか? 両方のインスタンスがお互いを認識できるように、UML で集約関係に双方向の移動可能性を持たせることはできますか?
a
を所有している場合はb
、結果としてa
を認識していb
ます。(つまり、a
は にメッセージを送信できますb
)。しかし、その逆b
はa
どうでしょうか。または、これは決して当てはまりませんか?それとも、これは図で指定されていないだけで、これは両方の方法である可能性がありますか? そして、それがどのように表現されるかをb
認識しなければならない場合(反対側に矢印が付いた集計行を見たことがない)?a
これはすべて、構成にも同じように適用されますか?
これに少し関連するもう 1 つのことですが、双方向ではない関連付けに 2 つの役割があるのではないかと考えていました。
非双方向の関係は、関連するインスタンスの 1 つだけが他のインスタンスを認識している場合の関係であり、役割はインスタンスが別のインスタンスを認識する方法を意味するため、私が知る限り、これは不可能です。したがって、両方のインスタンスが必要です。 2つの役割を持つことができることをお互いに認識していますが、これは正しいですか?
java - 集約 + 多重度 UML の明確化
クラス A の横にある中空のダイヤモンドと、クラス B の横にある多重度が、クラス A と B の関係について何を意味するのか理解できません。
json - jacksonMapper を使用すると、双方向の関係で子データが失われる
以下に示すように、双方向の多対多の関係で2つのクラスがあります。
特定の親を取得するために、DAO で呼び出しを行います。親の詳細とともに、親の子を取得したいと思います。このようなもの:
しかし、データをコントローラーに返すときにビジネス サービスで以下を実行すると、子は親の json 文字列から省略されます。
そのため、Parent クラス内の @JsonIgnore on Child 属性を削除しました。以下に示すように、文字列への書き込み中にこれらのフィールドを無視しないことをジャクソンが理解できると考えています。しかし、それはまだそれらを無視します! :(
私が間違っている可能性がある場所はありますか?
graph - 双方向関係グラフで neo4j.rb の n レベルの友達を検索する
以下のように定義された User クラスがあります
それぞれ user_id 1 と 2 で とuser1
を作成しました。user2
そして、 を使って次の次の次を検索します
user1.followings(rel_length: 2)
。しかし、との両方が互いにフォローし合っているuser1
ため、結果はそれ自体として出てきます。user1
user2
order(:breadth_first)
すでにアクセスしたノードを除外するために、他の方法を試しました。私は十分な調査を行っていないかもしれませんが、これを行う方法を知っている人はいますか?