每个人
我一直在努力创建用户信息保存流程,并遇到了这个问题。 我想使用mysql函数password()作为密码字段,但似乎无法在保存数据时使用MySQL函数。
有没有办法做到这一点,或者只是在CakePHP中不可能?
谢谢。
答案 0 :(得分: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