【发布时间】:2011-06-24 05:56:07
【问题描述】:
我有一个名为 users、countries 和 countries_users 的表。
documentation 声明要删除您执行的简单关系:
// Get user foo
$u = new User();
$u->where('username', 'foo')->get();
// Get country object for Australia
$c = new Country();
$c->where('name', 'Australia')->get();
// Delete relation between user foo and country Australia
$u->delete($c);
这将从 countries_users 表中删除相应的行。
我的问题是,如果我没有要构造的相关 Country() 对象怎么办?
如果国家和用户是一对多的关系,那么肯定知道用户名属性就足以解除他与国家的关联。
所有删除函数似乎都需要至少两个对象...使用 DataMapper ORM 函数完成删除此类关系的最佳方法是什么?
【问题讨论】:
-
no relevant Country()和knowing the username attribute是什么意思? -
1.我的意思是,我不一定知道这个国家——我也不需要知道这个国家来解除这种关系。 2.无论是username,还是user_id...都是唯一的key,用于标识join表中的一条记录。
标签: php codeigniter codeigniter-datamapper