protected function addGetLastVersions(&$script) { $versionTable = $this->behavior->getVersionTable(); $versionARClassname = $this->builder->getNewStubObjectBuilder($versionTable)->getClassname(); $versionForeignColumn = $versionTable->getColumn($this->behavior->getParameter('version_column')); $fks = $versionTable->getForeignKeysReferencingTable($this->table->getName()); $relCol = $this->builder->getRefFKPhpNameAffix($fks[0], $plural = true); $versionGetter = 'get' . $relCol; $versionPeerBuilder = $this->builder->getNewStubPeerBuilder($versionTable); $this->builder->declareClassFromBuilder($versionPeerBuilder); $versionPeer = $versionPeerBuilder->getClassname(); $script .= <<<EOF /** * retrieve the last \$number versions. * * @param integer \$number the number of record to return. * @param {$this->getVersionQueryClassName()}|Criteria \$criteria Additional criteria to filter. * @param PropelPDO \$con An optional connection to use. * * @return PropelCollection|{$versionARClassname}[] List of {$versionARClassname} objects */ public function getLastVersions(\$number = 10, \$criteria = null, PropelPDO \$con = null) { \$criteria = {$this->getVersionQueryClassName()}::create(null, \$criteria); \$criteria->addDescendingOrderByColumn({$versionPeer}::VERSION); \$criteria->limit(\$number); return \$this->{$versionGetter}(\$criteria, \$con); } EOF; }
/** * Add object attributes to the built class. * * @param PHP5ObjectBuilder $builder * * @return string The PHP code to be added to the builder. */ public function objectAttributes(PHP5ObjectBuilder $builder) { if (!$this->behavior->hasArchiveClass()) { $builder->declareClassFromBuilder($builder->getNewStubQueryBuilder($this->behavior->getArchiveTable())); } $script = ''; if ($this->behavior->isArchiveOnInsert()) { $script .= "protected \$archiveOnInsert = true;\n"; } if ($this->behavior->isArchiveOnUpdate()) { $script .= "protected \$archiveOnUpdate = true;\n"; } if ($this->behavior->isArchiveOnDelete()) { $script .= "protected \$archiveOnDelete = true;\n"; } return $script; }