【问题标题】:CakePHP 2.x: How to use different column names for the Created, Modified automated fields?CakePHP 2.x:如何为 Created、Modified 自动字段使用不同的列名?
【发布时间】:2014-02-05 21:48:44
【问题描述】:

我有一个应用程序,所有内容都是西班牙语,包括表名和列。

我想映射或创建别名或其他东西,以便使用 CakePHP Created, Modified 自动字段。

例子:

created => fecha_creacion

modified => fecha_modificacion

谢谢!

【问题讨论】:

  • 郑重声明:把所有东西都写成西班牙语是个坏主意。代码和表名应为英文。让您的生活更轻松 - 不要与框架抗争..
  • 感谢您的评论@mark,但这是大学的一个项目,由于我来自巴拉圭,我的老师不会接受这种方式。我正在考虑在完成后重做项目以使其开源,所以到那时我会处理好。

标签: cakephp cakephp-2.4


【解决方案1】:

做不到。但是,您可以将逻辑放入 AppModel::beforeSaveAppModel::save 以重新创建自动魔术行为。 DboSource::expression 是执行此操作的首选方式,但您也可以使用 date 或 TimeHelper。

public function beforeSave($options = array()) {

    // it's an insert, so add `created`
    if(empty($this->data[$this->alias][$this->primaryKey])) {
        $this->data[$this->alias]['fecha_creacion'] = DboSource::expression('NOW()');
    }

    // modified is set anyway
    $this->data[$this->alias]['fecha_modificacion'] = DboSource::expression('NOW()');

    return true;
}

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    相关资源
    最近更新 更多