定义与多态性有很多直通关系

时间:2019-11-22 17:12:00

标签: mysql database laravel eloquent

我正在向现有应用程序添加报告功能,报告是针对两种模型之一进行的(理想情况下也可以针对两种模型进行报告,但让我们从小处着手)。报告是可配置的,用户应该能够将一组过滤器“保存”到新的“报告类型”,并使用这些过滤器设置可选的定期报告。

我遇到的麻烦是如何在其各自的仪表板上仅显示与每个模型相关的报告类型。每种报告类型都将适用于测试或票据,但它与票据或测试没有直接关系,只是它的类。

Entity relationship diagram, ReportType has many Reports, Report belongs to one report type, reports have many tickets or tests and tickets or tests have many reports

我最初的想法是使用hasManyThrough关系,但是我不确定如何通过多态关系来做到这一点,以及如何为动态报表创建菜单的目的而进行查询。

最终目标是能够动态生成此模型中的下拉菜单选项和选项卡标题,如果模型类型(票证或测试)具有HAS报告类型,则它应出现在顶部的下拉菜单中,并在您选择时它在“报告”页面上的选项卡上应仅显示与该模型有某种关系的“报告类型”,因此,如果有月度票证报告,则显示该选项卡,但不显示例如月度测试报告。

enter image description here

如何在ReportType(实例)与其可能在其上报告的模型(票证,测试等)之间建立关系。

0 个答案:

没有答案
相关问题