1

我是数据映射器的新手。我在尝试将结果复制到新 ID 时遇到问题。

这是我的数据库的简化表:

工作表

| 编号 | property_id | 姓名 | 类型 |
| 1 | 1 | 美国广播公司 | 我 |
| 2 | 2 | 定义 | 二 |

属性表

| 编号 | 工作ID | 尺寸 |
| 1 | 1 | 90 |
| 2 | 2 | 40 |


如何自动将基于作业 ID 1 的新作业复制到新作业/属性 ID 中,例如

工作表

| 编号 | property_id | 姓名 | 类型 |
| 1 | 1 | 美国广播公司 | 我 |
| 2 | 2 | 定义 | 二 |
| 3 | 3 | 美国广播公司 | 我 |

属性表

| 编号 | 工作ID | 尺寸 |
| 1 | 1 | 90 |
| 2 | 2 | 40 |
| 3 | 3 | 90 |

感谢您的帮助!:)

4

2 回答 2

3

在 DataMapper Overzealous Edition 的文档中:http://datamapper.wanwizard.eu/pages/clonecopy.htmlclonecopycopy清除 id。这是他们的示例,只需跳过进行更改的部分:

// Let's save a new hosting plan
$p = new Plan();

$p->name = 'The 100GB Plan';
$p->storage = 1000;
$p->bandwidth = 2000;
$p->databases = 5;
$p->domains = 5;
$p->emails = 50;

$p->save();

// Now, lets make a copy of that saved plan and base a new one off of it
$p = $p->get_copy();

// Change only what we need to
$p->name = 'The Big 150GB Plan';
$p->storage = 1500;
$p->bandwidth = 2500;

// And now save a new record
$p->save();
于 2011-11-02T13:12:45.633 回答
1

您也可以只修改您检索的对象,然后使用 save_as_new() 将其保存为新记录。

于 2011-11-02T18:19:02.380 回答