架构/结构模型和DB - Laravel应用程序

时间:2015-09-06 09:15:22

标签: database laravel architecture model

我有一个记录,可能是4种类型之一。根据其类型,它可以包含给定类型的子记录。例如:类型记录"旅行费用"可以包含"汽油成本"的子记录或"公共交通费用"类型记录" MealAcco"可以包含"膳食成本"的子记录或者"住宿费用"

我应该如何在对象模型和相邻的数据库表中表示这一点。

我使用Laravel框架 - 如果它很重要......

非常感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:1)

您可以使用多态关系。

http://laravel.com/docs/5.1/eloquent-relationships#polymorphic-relations

您需要指定是否需要一对一或一对多。

例如,每个TravelCost可以超过汽油成本吗?实际上,汽油成本是不是更多的成本类型?

您可以拥有 travelcosts 表格(该模型将 Travelcost

在这种情况下,您将在表格的列中包含travelcosts表中的两列,即 travelcostable_id travelcostable_type ,它们链接到相应的表和ID 。 例如, travelcostable_type 将为“汽油”,而 travelcostable_id 将为3,是汽油模型表的第三条记录。