2015-09-06 73 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,是汽油模型表的第三個記錄。