ThinkPHP3.0完全开发手册                                           

 

6.23.1          关联关系

通常我们所说的关联关系包括下面三种:

²  一对一关联  ONE_TO_ONE,包括HAS_ONE  BELONGS_TO 

²  一对多关联  ONE_TO_MANY包括HAS_MANY  BELONGS_TO

²  多对多关联  MANY_TO_MANY

关联关系必然有一个参照表,例如:

有一个员工档案管理系统项目,这个项目要包括下面的一些数据表:基本信息表、员工档案表、部门表、项目组表、银行卡表(用来记录员工的银行卡资料)。

这些数据表之间存在一定的关联关系,我们以员工基本信息表为参照来分析和其他表之间的关联:

每个员工必然有对应的员工档案资料,所以属于HAS_ONE关联;

每个员工必须属于某个部门,所以属于BELONGS_TO关联;

每个员工可以有多个银行卡,但是每张银行卡只可能属于一个员工,因此属于HAS_MANY关联;

每个员工可以同时在多个项目组,每个项目组同时有多个员工,因此属于MANY_TO_MANY关联;

分析清楚数据表之前的关联关系后,我们才可以进行关联定义和关联操作。


NetPc