normalizacion modelos

parent ac52fdee
...@@ -58,4 +58,21 @@ class CampaignTableMap extends TableMap ...@@ -58,4 +58,21 @@ class CampaignTableMap extends TableMap
{ {
} // buildRelations() } // buildRelations()
/**
*
* Gets the list of behaviors registered for this table
*
* @return array Associative array (name => parameters) of behaviors
*/
public function getBehaviors()
{
return array(
'timestampable' => array (
'create_column' => 'created_at',
'update_column' => 'updated_at',
'disable_updated_at' => 'false',
),
);
} // getBehaviors()
} // CampaignTableMap } // CampaignTableMap
...@@ -577,8 +577,19 @@ abstract class BaseCampaign extends BaseObject implements Persistent ...@@ -577,8 +577,19 @@ abstract class BaseCampaign extends BaseObject implements Persistent
$ret = $this->preSave($con); $ret = $this->preSave($con);
if ($isInsert) { if ($isInsert) {
$ret = $ret && $this->preInsert($con); $ret = $ret && $this->preInsert($con);
// timestampable behavior
if (!$this->isColumnModified(CampaignPeer::CREATED_AT)) {
$this->setCreatedAt(time());
}
if (!$this->isColumnModified(CampaignPeer::UPDATED_AT)) {
$this->setUpdatedAt(time());
}
} else { } else {
$ret = $ret && $this->preUpdate($con); $ret = $ret && $this->preUpdate($con);
// timestampable behavior
if ($this->isModified() && !$this->isColumnModified(CampaignPeer::UPDATED_AT)) {
$this->setUpdatedAt(time());
}
} }
if ($ret) { if ($ret) {
$affectedRows = $this->doSave($con); $affectedRows = $this->doSave($con);
...@@ -1166,4 +1177,18 @@ abstract class BaseCampaign extends BaseObject implements Persistent ...@@ -1166,4 +1177,18 @@ abstract class BaseCampaign extends BaseObject implements Persistent
return $this->alreadyInSave; return $this->alreadyInSave;
} }
// timestampable behavior
/**
* Mark the current object so that the update date doesn't get updated during next save
*
* @return Campaign The current object (for fluent API support)
*/
public function keepUpdateDateUnchanged()
{
$this->modifiedColumns[] = CampaignPeer::UPDATED_AT;
return $this;
}
} }
...@@ -469,4 +469,69 @@ abstract class BaseCampaignQuery extends ModelCriteria ...@@ -469,4 +469,69 @@ abstract class BaseCampaignQuery extends ModelCriteria
return $this; return $this;
} }
// timestampable behavior
/**
* Filter by the latest updated
*
* @param int $nbDays Maximum age of the latest update in days
*
* @return CampaignQuery The current query, for fluid interface
*/
public function recentlyUpdated($nbDays = 7)
{
return $this->addUsingAlias(CampaignPeer::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL);
}
/**
* Order by update date desc
*
* @return CampaignQuery The current query, for fluid interface
*/
public function lastUpdatedFirst()
{
return $this->addDescendingOrderByColumn(CampaignPeer::UPDATED_AT);
}
/**
* Order by update date asc
*
* @return CampaignQuery The current query, for fluid interface
*/
public function firstUpdatedFirst()
{
return $this->addAscendingOrderByColumn(CampaignPeer::UPDATED_AT);
}
/**
* Filter by the latest created
*
* @param int $nbDays Maximum age of in days
*
* @return CampaignQuery The current query, for fluid interface
*/
public function recentlyCreated($nbDays = 7)
{
return $this->addUsingAlias(CampaignPeer::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL);
}
/**
* Order by create date desc
*
* @return CampaignQuery The current query, for fluid interface
*/
public function lastCreatedFirst()
{
return $this->addDescendingOrderByColumn(CampaignPeer::CREATED_AT);
}
/**
* Order by create date asc
*
* @return CampaignQuery The current query, for fluid interface
*/
public function firstCreatedFirst()
{
return $this->addAscendingOrderByColumn(CampaignPeer::CREATED_AT);
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment