2016-06-21 17 views
0

Heya我是新手web开发人员,或者实际上我仍在教育中。Php:使用mvc连接表中的数据

我得到了这种情况我有3个表让我们说:Students,Groups和一个连接表Student_group。

我把学生的数据放在学生模型和组中,我把它们的数据放到组模型中,这样我就可以使用它。但是我在Student_group表中存储了一个日期,因为我需要知道学生何时从一个组中更改。

所以我的问题是在哪个模型中,我把这个日期?我是否需要为组合表格创建新模型还是需要为学生模型添加另一个属性?

在此先感谢; D

回答

0

这取决于。学生是否会参加很多小组,或者一个?

如果一个(一对一的关系),你可以决定把它放在哪里。该列可以在Student表中,也可以在​​中。但是,在这种情况下,最好将数据平坦化并在您的Student表中简单添加组列。你也决定 - 如果一对一关系似乎没有必要有一个join(通常不是这样),然后将其平坦化。无论哪种情况,数据都应该保留在其各自的模型中。也就是说,如果您在Student表中处理它,则应使用Student模型。

如果很多(一对多关系),我建议将它放在​​表中,并将其留在该模型中。

总而言之,模型应该直接反映它所代表的数据。例如,您可以在Student模型中创建一些方法,以便更容易地获取日期。不过,我会亲自处理该日期,在适当的模型​​。如前所述,模型应该是数据的直接表示。同样,通过创建一些帮助开发人员的方法,使事情变得更简单没有什么问题。

+0

感谢您的回答!这确实是一个多对多的关系,因为一个学生可以分成多个小组,我也更喜欢一个模型应该是数据的直接表示,所以我将制作另一个模型。再次感谢您的回答 – Artwolf

+0

任何时候!希望能帮助到你。 –