2

「~に属する」関係というものがあるのか​​、その機能は何なのか、それとも「~がある」の反対なのか?

ORM を構築するときに問題が発生し、エンティティ インスタンスをいつ自動的に削除する必要があるかを判断する方法を見つけたいと考えました。

ユーザーは「多くの」スレッドを持っています

スレッド「たくさんあります」コメント

スレッドに「1 つある」ユーザー

コメント「ある」スレッド

ユーザー インスタンスを削除するとします。関連するスレッド インスタンスはそのままにしておく必要があります。ただし、スレッド インスタンスを削除する場合は、そのコメントを削除する必要があります。

上記のスキーマでは、ORM はいつ削除し、いつ削除しないかを判断できません。しかし、「belong to」を使用すると、解決策になる可能性があります。

ユーザーは「多くの」スレッドを持っています

スレッド「たくさんあります」コメント

スレッドに「1 つある」ユーザー

コメント「1つに属する」スレッド

これは理にかなっていますか?ORM では可能ですが、ERD はこのシナリオをカバーしていますか? 1 対 1/1 対多の接続では不十分なようです。

何かご意見は?

4

1 に答える 1

2

私が見た一般的な実装はすべて、「所属」関係を提供します。技術的には、外部キーが子テーブルに存在するため、これは「複数あり」の関係に存在します。

Kohana の ORM クラス ドキュメントの定義によると、1 対 1 の関係が「1 つを持っている」か「所属している」かは、外部キー フィールドの場所に依存します。コア モデルと同じテーブルにある場合、それは "所属" 関係です。それが別のテーブルにある場合、それは「has one」関係です。

于 2010-09-27T13:59:18.870 に答える