我正在考虑将CakePHP 2.0用户插件中的一些函数移植到CakePHP 3.0中。我在旧代码中遇到了这一行:
$user = $this->{$this->modelClass}->passwordReset($this->request->data);
我在这里调试了$user,得到了一个巨大的对象,里面装满了我需要的各种数据。完美:
'properties' => [
'password' => '*****',
'id' => '53f7b636-e558-4eef-9064-1e78494ef653',
'username' => 'blahblah',
...
]
我以为一切都很顺利,直到下一行:
$Email->to($user[$this->modelClass]['email'])
这是即将发送的电子邮件的第一行。这里,$user[$this->modelClass]['email']返回null。所以我尝试直接访问对象,就像这样:
debug($user['properties']['email'])
这仍然返回null,我假设是因为我试图访问模型中的参数。我不确定$this->modelClass在CakePHP 3.0中有什么不同,或者我在其他地方搞砸了。有什么想法吗?
I应该是$user->email
,因为新的ORM现在返回对象而不是数组