rewriting tables

This commit is contained in:
Etienne Roudeix
2013-08-28 15:55:38 +02:00
parent 2d370bf9b8
commit 253a0b76d8
5 changed files with 20 additions and 5 deletions

View File

@@ -1017,6 +1017,10 @@ abstract class RewritingUrl implements ActiveRecordInterface
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = RewritingUrlTableMap::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . RewritingUrlTableMap::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(RewritingUrlTableMap::ID)) {
@@ -1086,6 +1090,13 @@ abstract class RewritingUrl implements ActiveRecordInterface
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', 0, $e);
}
$this->setId($pk);
$this->setNew(false);
}
@@ -1383,7 +1394,6 @@ abstract class RewritingUrl implements ActiveRecordInterface
*/
public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
{
$copyObj->setId($this->getId());
$copyObj->setUrl($this->getUrl());
$copyObj->setView($this->getView());
$copyObj->setViewId($this->getViewId());
@@ -1413,6 +1423,7 @@ abstract class RewritingUrl implements ActiveRecordInterface
if ($makeNew) {
$copyObj->setNew(true);
$copyObj->setId(NULL); // this is a auto-increment column, so set to default value
}
}

View File

@@ -158,7 +158,7 @@ class RewritingUrlTableMap extends TableMap
$this->setPhpName('RewritingUrl');
$this->setClassName('\\Thelia\\Model\\RewritingUrl');
$this->setPackage('Thelia.Model');
$this->setUseIdGenerator(false);
$this->setUseIdGenerator(true);
// columns
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addColumn('URL', 'Url', 'VARCHAR', true, 255, null);
@@ -454,6 +454,10 @@ class RewritingUrlTableMap extends TableMap
$criteria = $criteria->buildCriteria(); // build Criteria from RewritingUrl object
}
if ($criteria->containsKey(RewritingUrlTableMap::ID) && $criteria->keyContainsValue(RewritingUrlTableMap::ID) ) {
throw new PropelException('Cannot insert a value for auto-increment primary key ('.RewritingUrlTableMap::ID.')');
}
// Set the correct dbName
$query = RewritingUrlQuery::create()->mergeWith($criteria);