<?xml version="1.0" encoding="UTF-8"?>
<model package="pms" baseClass="xPDOObject" platform="mysql" tablePrefix="pms_" defaultEngine="MyISAM" version="1.1">
<object class="pmsMapRecord" table="records" extends="xPDOSimpleObject">
<field key="package" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="class_key" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="migrate_id" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="local_pk" dbtype="int" precision="11" phptype="string" null="false" default="" />
<field key="updated" dbtype="int" precision="16" phptype="string" null="false" default="0" />
<alias key="local_id" field="local_pk" />
</object>
</model>// Check for an existing record
$record = self::$modx->getObject('pmsMapRecord',array(
'package' => $pkgName,
'class_key' => $classKey,
'local_pk' => $localId
));
if($record !== false){
// Return the existing id
return $record->get('migrate_id');
};
// Generate a new id
$all = self::$modx->getCollection('pmsMapRecord',array(
'package' => $pkgName,
'class_key' => $classKey
));
$newId = "$classKey-".count($all);
// Save new record
$new = self::$modx->newObject('pmsMapRecord',array(
'package' => $pkgName,
'class_key' => $classKey,
'local_id' => $localId,
'migrate_id' => $newId,
'updated' => time()
));
$new->save();This question has been answered by opengeek. See the first response.