0

每个人。

我一直在尝试创建用户信息保存过程,并遇到了这个问题。我想对密码字段使用mysql函数password(),但在保存数据时似乎没有办法使用MySQL函数。

有没有办法做到这一点,或者在 CakePHP 中根本不可能?

谢谢你。

4

1 回答 1

1

TLDR:

$this->data['MyModel']['password'] = 
    DboSource::expression('PASSWORD('.$password.')');

更多细节:

我同意评论者的观点,即按照您的要求去做并不理想,但如果您真的想要,您可以直接使用该query()方法运行常规 MySQL 查询。更多信息在这里:

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#model-query

例子:

$this->Picture->query("SELECT * FROM pictures LIMIT 2;");

或者使用上面“TLDR”中提到的方法,它允许您使用 MySQL 函数来处理您的数据。

不同(但推荐)的方法:

以下是有关如何使用 CakePHP 方式对密码进行哈希处理的文档:

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#hashing-passwords

于 2013-05-17T20:07:17.557 回答