1

私はデータマッパーが初めてです。結果を新しい ID に複製しようとすると問題が発生します。

これは私のデータベースの単純化されたテーブルです:

ジョブ テーブル

| | ID | property_id | 名前 | タイプ |
| | 1 | 1 | abc | 私 |
| | 2 | 2 | デフ | ii |

プロパティ テーブル

| | ID | ジョブ ID | サイズ |
| | 1 | 1 | 90 |
| | 2 | 2 | 40 |


ジョブID 1に基づいて新しいジョブを新しいジョブ/プロパティIDに自動的に複製するにはどうすればよいですか

ジョブ テーブル

| | ID | property_id | 名前 | タイプ |
| | 1 | 1 | abc | 私 |
| | 2 | 2 | デフ | ii |
| | 3 | 3 | abc | 私 |

プロパティ テーブル

| | ID | ジョブ ID | サイズ |
| | 1 | 1 | 90 |
| | 2 | 2 | 40 |
| | 3 | 3 | 90 |

助けてくれてありがとう!:)

4

2 に答える 2

3

DataMapper Overzealous Edition のドキュメント: http://datamapper.wanwizard.eu/pages/clonecopy.htmlとがありclonecopyidcopyがクリアされます。これが彼らの例です。変更を加える部分はスキップしてください。

// 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 に答える