覆盖CakePHP的字段类型映射生成的SQL

时间:2012-01-19 06:46:24

标签: cakephp

我希望得到Cake PHP 2.x的字段类型映射,以便将密码字段从salted SHA1哈希更改为varchar字段,更改为SQL中的UNHEX('$ hash'),因此我可以将密码存储在二进制文件中(20)领域。

对于任何质疑我为什么这样做的人: Storing SHA1 hash values in MySQL

目前我认为没有办法解决这个问题,而不是做我自己的$ this-&gt;用户 - &gt;查询(“INSERT INTO ....”);,以蛋糕的方式做它会很好。< / p>

任何建议都会很棒!

干杯!

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

public function beforeSave() {
    if (isset($this->data[$this->alias]['password'])) {
    $this->data[$this->alias]['password'] = DboSource::expression('UNHEX('. $this->data[$this->alias]['password'].')');
    $this->data[$this->alias]['test'] = 'hello';
    }
    return true;
}