php错误:在非对象上调用fromArray()的成员函数

fir*_*ter 0 php doctrine zend-framework

我正在尝试设置一个"忘记密码"系统.用户输入电子邮件,如果存在,则会记录新电子邮件并将其发送到输入的用户电子邮件地址.用户电子邮件检查正常.当试图将新的密码输入系统时它没有.

代码是这样的:

..... (form is_valid and check email ok)

if(is_object($object)) {

        $newpassword = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',8)),0,8);

        $input = $form->getValues();

        $user = Doctrine::getTable('Tcc_Model_User')
            ->find($input['email']);

        $user->fromArray($input);
        $user->Password = md5($newpassword);
        $user->save();
......
email send

} else {
    $form->getElement('email')->addError('Sorry, there is no record of that email adddress.');
  }
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Call to a member function fromArray() on a non-object
Run Code Online (Sandbox Code Playgroud)

有人能帮助我弄清楚我做错了什么吗?请.

Jon*_*Jon 6

简单地说,$user不是一个对象.它可能是false或者null,或者表示find()实际上并没有找到它想要的东西.

你可以看到它$user实际上是什么var_dump($user),然后你应该阅读文档,find看看为什么它会返回.