「1対0以上1以下」の場合のアソシエーション
解決したいこと
Ruby on Railsのアソシエーションについて質問です。
「1対0以上1以下」という関係の場合、どのようなアソシエーションを設定したら良いか悩んでいます。
現在フリマアプリを作成中で、データベースの設計を行っております。
必要となるテーブルは、①users(ユーザー) ②items(商品) ③payments(支払い情報)としました。
商品が購入されれば、その商品と支払い情報を紐づける必要があります。
また、あるユーザーに購入された時点で他のユーザーは購入できなくなるため、
一つの商品が支払い情報を2つ以上持つことはありません。
このような状態の場合、アソシエーションはどのような表記となるのでしょうか?
私の考えは、以下のように1対多と同様となります。
■items
has_many :payments
■payments
belongs_to :item
has_manyは、対"上限のない多数"を意味するというより、
対になるテーブルからのキー参照を可能にしたり、
dependentのような従属関係を持たせるためだと考えたからです。
以上、質問及び仮説となります。
ご指摘、ご意見いただけますと幸いです。
0