我正在尝试将诸如airbnb之类的内容作为辅助项目进行重建,并且我想知道如何为User
,Host
或两者都可以建模的Customer
实体建模。一个人怎么表示呢?
多态性的问题在于,User
只能是Host
或Customer
之一,而不能两者都不能。
通过两个一对一的关系来做到这一点的最好方法吗?
答案 0 :(得分:0)
我要解决此问题的方法是采用三个模型:User
,Rental
,(房屋出租)和RentalBooking
(用户进行预订)
一个User
有许多Rental
,并且Rental
“主机”将由拥有Rental
的人(出租用户ID)确定。 RentalBooking
将有一个rental_id
和一个user_id
(用户ID为客户)。
就我个人而言,我不必让用户扮演Host
或Customer
的角色,但是此信息很容易在每个预订或租赁帖子中显示。