2015-09-06 77 views
1

我有一个记录可能是4种类型之一。根据其类型,它可以包含给定类型的子记录。例如:类型的记录“旅行费用”可以包含“汽油成本”或“公共交通成本的”类型“MealAcco”的记录可包含“用餐的费用”或“食宿费”架构/结构模型和数据库 - Laravel应用程序

我应该如何代表的子记录的子记录这在对象模型和相邻的数据库表中。

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

你的帮助是非常赞赏。 :)

回答

1

您可以使用多态关系。

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

你需要指定,如果你需要一到一对一或一对多。

例如,每个旅行费用都可以超过汽油费用吗?其实,汽油成本不是一种成本类型?

你可以有一个travelcosts表(该模型将Travelcost

在这种情况下,你将不得不在表中的列中,两列在您的travelcosts表,即travelcostable_idtravelcostable_type链接到相应的表和id。 例如,travelcostable_type将是'汽油',而travelcostable_id将有3,是汽油模型表的第三个记录。