この質問が何百万回も聞かれていることは知っていますが、Kohana の ORM モジュールで関係がどのように機能するかを本当によく理解できる質問を見つけることができないようです。
私は5つのテーブルを持つデータベースを持っています:
approved_submissions
-submission_id
-contents
favorites
-user_id
-submission_id
ratings
-user_id
-submission_id
-rating
users
-user_id
votes
-user_id
-submission_id
-vote
現在、favorites
、ratings
、およびvotes
テーブル内のすべての列で構成される主キーを持っているため、ユーザーが同じものをsubmission_id
複数回お気に入りしたり、ユーザーが同じものに複数回投票したりするのを防ぐことができますsubmission_id
。また、これらのフィールドは次を使用して設定されていると思いますを参照する外部キーとapproved_submissions
、users
それぞれのフィールドに無効なデータが存在しないようにします。
DB モジュールを使用すると、これらのテーブルに問題なくアクセスして更新できます。ORM は、より少ないコードで同じことを達成するための、より強力でアクセスしやすい方法を提供してくれるのではないかと私は本当に感じています。
に投票しているユーザーを更新する方法を示してもらえますsubmission_id
か? ユーザーがお気に入りを削除しsubmission_id
ますか? 特定の評価を変更するsubmission_id
ユーザー
また、データベース構造を変更する必要がありますか、それともそのままでよいですか?