在datamapper ORM中保存多对多的关系 - Codeigniter

时间:2012-04-06 10:34:49

标签: codeigniter-datamapper

我是初学者。在这里,我想问你们所有人如何在三个表中保存多对多的关系(表A,表A-b,表B)?现在我正在尝试将带有新ID的新记录保存到表A中,并且我有一些表B的ID,我想将它们保存到中间表AB依赖于表A的ID。如果有人有这方面的经验,请善意分享。 例如:

$a = new modelA();
$a->name = ‘new name’;
$a->des = ‘something to say’;

$b = new modelB();
$IDs = new array(1,2,3); //IDs of records in table B


$a->save(array($IDs=>$b));

2 个答案:

答案 0 :(得分:1)

不支持传递ID,Datamapper需要对象能够关联。

如果你有一个ID数组,你可以使用where_in()查询获取对象,然后使用

保存关系
$a->save($b->all);

答案 1 :(得分:0)

我有一些从帖子形式获得的值,如:

  • '新名字'
  • '新说明'
  • 阵列( 'VAL1', 'val2的', 'VAL3')

在我的控制器中我想将新记录保存到表A: - '新名字' - '新描述' 和数组('val1','val2','val2')我从表B得到了它们的ID,表A中有很多对(要保存的新记录)。

因此,当我保存到表A中时,表B的ID也保存到中间表A-B,新表ID只保存。如何保存?