【问题标题】:how to access cakephp model value in contoller如何在控制器中访问 c​​akephp 模型值
【发布时间】:2017-04-14 12:00:42
【问题描述】:

当客户使用忘记密码选项时,我想邮寄验证邮件上的关键字段值。我的查询运行良好。当我在视图中调试时,我能够看到字段值,但在控制器中我无法访问该值。

这是我的控制器查询。

public function forgot() {
    if ($this->User->validates() ) {
    $auserlogin = $this->User->forgot($this->data['user']['email']);
    $this->set('auserlogin', $auserlogin);
    $message="Someone requested to reset password \n\n";
    $message=$message."Verify Key : ".$auserlogin['0']['user']['verifykey']."\n\n";
    $message=$message."Thanks\n\n";
    $Email = new CakeEmail();
    $Email->from(array('mail@gmail.in' => 'mail'))
    ->to($this->data['user']['email'])
    ->subject('Forgot Password')
    ->send($message);
    return $this->redirect(array('controller'=>'users','action'=>'password'));
    }
}

在视图部分我可以看到查询正在通过这个工作

$auserlogin['0']['user']['verifykey'];

但我想将此验证密钥邮寄给用户,所以我使用了

$message="Verify Key : ".$auserlogin['0']['user']['verifykey']."\n\n";

$this->set('verifykey', $auserlogin['0']['user']['verifykey']);
$message="Verify Key : ".$verifykey."\n\n";

两者都没有在邮件中工作我没有收到我收到的邮件的变量值

Verify Key :

【问题讨论】:

  • 您正在使用哪个 cakephp 版本,也请分享表单部分
  • 可以分享控制器功能和表单部分吗?
  • 在发送邮件之前输入$this->log($message, 'debug');并检查您的日志文件。
  • @AmanRawat 是的日志文件值正在显示,但邮件中的值仍然为空白
  • pr($auserlogin); 的输出是什么

标签: cakephp cakephp-2.4


【解决方案1】:

模型名称在控制器内应大写。 $auserlogin['0']['User']['verifykey']

感谢newbee-dev

【讨论】:

  • 我明白了。这是因为在本地它不区分大小写(模型名称或索引),但在现场它是。如果我错了,请纠正我。我也遇到过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
相关资源
最近更新 更多