首先,我想就在那里,我是一个 ORM 菜鸟。我一生中从未使用过 ORM,并且在我的日常开发中达到了需要做一些疯狂的高级关系的地步,我相信 Datamapper Overzealous Edition 可以在我使用 Codeigniter 时帮助我。
在我的数据库中,我有以下表格;
用户
项目
客户
任务
这是我想要的表之间的关系;
- 一个用户可以属于多个项目。
- 一个项目可以有多个任务,但只能有一个客户。
- 一个客户可以有很多用户,也可以有很多项目
- 一个任务只能有一个项目
我试图在模型目录中设置我的模型,因为它在文档中说模型名称末尾没有 s,所以对于用户我有一个 user.php 模型等等。
我知道文档很棒,但我似乎无法正确理解它,即使它显然很容易。我知道您通过例如 $u = new User(); 来实例化模型;在您的控制器内部,但我的问题是建立模型内部的关系。
我如何设置我的模型以具有上述关系,例如,当我获取一个任务时,我可以看到它属于哪个项目以及来自其关联数据库表的一整堆信息。
我注意到在文档中,您在项目模型中使用了以下内容,这应该告诉它它可以为一个项目执行多个任务; var $has_many = array('task')
这就是它的全部吗?是否像定义 $has_many 和 $has_one 变量并将关联的模型名称放入数组中一样简单?