I have this code in my cakephp project:
$this->data[\'MyObject\'][\'expire_date\'] = \'NOW()\';
and...
$this->MyObject-&g
For CakePHP 3 (in case someone's searching), you'd need to use the SQL functions:
$query = $this->Example->query();
$query
->insert(['created','id'])
->values(array(
'created' => $query->func()->now(),
'id' => $id,
));
$result = $query->execute();
Sources:
For cakephp 2.x users:
$db = $this->MyObject->getDataSource();
$this->data['MyObject']['expire_date'] = $db->expression('NOW()');
$this->data['MyObject']['expire_date'] = DboSource::expression('NOW()');
$this->data['MyObject']['expire_date'] = strtotime('now');
You can shorten that to
$this->data['MyObject']['expire_date'] = date('Y-m-d H:i:s');
By default, date() will take the present time, if you do not pass it a second 'timestamp' argument.
This method is preferable to calling DboSource::expression()
especially when you want to set it in the controller for various reasons, instead of in the model.