0

我是初学者。在这里我想问大家,我怎样才能将多对多关系保存到三个表(表A,表Ab,表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));
4

2 回答 2

1

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

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

$a->save($b->all);
于 2012-04-06T20:22:05.777 回答
0

我有一些从帖子表单中获得的值,例如:

  • '新名字'
  • '新描述'
  • 数组('val1','val2','val3')

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

所以当我保存到表A时,表B的ID也保存到中间表AB,表AI的新ID只是保存。如何保存?

于 2012-04-07T08:36:51.877 回答