protected function addReorder(&$script)
 {
     $peerClassname = $this->peerClassname;
     $columnGetter = 'get' . $this->behavior->getColumnForParameter('rank_column')->getPhpName();
     $columnSetter = 'set' . $this->behavior->getColumnForParameter('rank_column')->getPhpName();
     $script .= "\n/**\n * Reorder a set of sortable objects based on a list of id/position\n * Beware that there is no check made on the positions passed\n * So incoherent positions will result in an incoherent list\n *\n * @param     array     \$order id => rank pairs\n * @param     PropelPDO \$con   optional connection\n *\n * @return    boolean true if the reordering took place, false if a database problem prevented it\n */\npublic static function reorder(array \$order, PropelPDO \$con = null)\n{\n    if (\$con === null) {\n        \$con = Propel::getConnection({$peerClassname}::DATABASE_NAME);\n    }\n\n    \$con->beginTransaction();\n    try {\n        \$ids = array_keys(\$order);\n        \$objects = {$peerClassname}::retrieveByPKs(\$ids);\n        foreach (\$objects as \$object) {\n            \$pk = \$object->getPrimaryKey();\n            if (\$object->{$columnGetter}() != \$order[\$pk]) {\n                \$object->{$columnSetter}(\$order[\$pk]);\n                \$object->save(\$con);\n            }\n        }\n        \$con->commit();\n\n        return true;\n    } catch (Exception \$e) {\n        \$con->rollback();\n        throw \$e;\n    }\n}\n";
 }
 /**
  * Get the setter of the column of the behavior
  *
  * @param string $columnName
  *
  * @return string The related setter, e.g. 'setRank'
  */
 protected function getColumnSetter($columnName = 'rank_column')
 {
     return 'set' . $this->behavior->getColumnForParameter($columnName)->getPhpName();
 }
 protected function getColumnConstant($name)
 {
     return strtoupper($this->behavior->getColumnForParameter($name)->getName());
 }