CakePHP 2-将用户输入转换为小写

CakePHP 2-将用户输入转换为小写,php,cakephp,view,controller,lowercase,Php,Cakephp,View,Controller,Lowercase,我用CakePHP2.3编写了一个用户管理项目。一切正常。 但是现在我想要一个注册函数,用户可以在其中创建自己。 甚至这也不是问题所在。但蛋糕是设置用户名本身 我有两个字段。“名”和“姓” 我想我用PHP函数“strtolower”将这两个字段转换成小写,在它们之间加一个点,结果就是用户名。例如“john.doe” 我唯一的问题是,我如何度过这一关 我认为当我将php函数放入“register”视图时,它不会对我有帮助,因为字段是空的,所以函数不能完成它的工作 如何将其取回,以便用户像我的示例中

我用CakePHP2.3编写了一个用户管理项目。一切正常。 但是现在我想要一个注册函数,用户可以在其中创建自己。 甚至这也不是问题所在。但蛋糕是设置用户名本身

我有两个字段。“名”和“姓” 我想我用PHP函数“strtolower”将这两个字段转换成小写,在它们之间加一个点,结果就是用户名。例如“john.doe”

我唯一的问题是,我如何度过这一关

我认为当我将php函数放入“register”视图时,它不会对我有帮助,因为字段是空的,所以函数不能完成它的工作

如何将其取回,以便用户像我的示例中那样格式化输入,并将其存储在单独的数据库字段中

在这方面谁能帮我?
提前感谢。

在保存用户之前,请在控制器中

例如,类似这样的事情:

public function register() {

  // ...

  $username = strtolower($this->request->data['User']['first_name'] . "." . $this->request->data['User']['last_name']);
  $this->request->data['User']['username'] = $username;

  if ($this->User->save($this->request->data)) {
    // ...
  } 
}

此外,如果您在理解Cake或MVC设计模式的工作原理方面遇到困难,请您帮忙阅读CakePHP

最好在模型内部的
beforeValidate()
回调中执行此类操作。这保证了用户输入将始终被格式化。请在此处阅读手册: