我们正在考虑将 DataMapper ORM 添加到我们的 Code Igniter HMVC 设置中。
DataMapper 看起来很酷,但我注意到这些模型都与datamapper 文档中的has_one
和Eg 紧密耦合:has_many
class User extends DataMapper {
var $has_many = array('book');
var $has_one = array('country');
........
class Country extends DataMapper {
var $table = 'countries';
var $has_many = array('user');
........
class Book extends DataMapper {
var $has_many = array('user');
正如我在开始时提到的,我们使用 HMVC 来处理模块化代码。这意味着我们可能有国家模块,和/或我们可能有书籍模块。但是它们是模块化的,因此用户模块(包括用户对象)不知道其他两个模块的存在,因此我们无法在模型中指定User
有关其他两个模型的信息。
现在其他两个模型依赖于 users 模块,所以他们知道它存在,我在想的是在 Country 模型中我们可以附加book
到 Userhas_many
数组吗?
这是正确的方法吗?我想datamapper必须有办法处理这些用例?