2012-01-19 28 views
0

我希望获得CakePHP 2.x的字段类型映射,以将密码字段从盐腌SHA1哈希更改为varchar字段,以SQL中的UNHEX('$ hash')我可以将密码存储在二进制(20)字段中。覆盖由CakePHP的字段类型映射生成的SQL

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

目前,我看没有办法解决它,而不是我自己做的这 - $>用户 - >查询(“INSERT INTO .... “);这样做会很好,这是蛋糕的方式。

任何建议将是伟大的!

干杯!

回答

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; 
} 
+0

此作品一种享受!谢谢! –