我有一个模型,它有一个belongsTo变量,find和一个afterFind都在玩 . 问题是,当afterFind被注释掉时,find工作正常,但是一旦它在播放中,find只返回“true”,而不是一个对象数组 . 如果有人遇到这个问题请通知我thx!

模型:

public $belongsTo = array(
            'User' => array(
                'className' => 'User',
                'foreignKey' => 'user_id',
                'conditions' => '',
                'fields' => '',
                'order' => ''
            ),
            'ContactCategory' => array(
                'className' => 'ContactCategory',
                'foreignKey' => 'contact_category_id',
                'conditions' => '',
                'fields' => '',
                'order' => ''
            ),
            'State' => array(
                'className' => 'State',
                'foreignKey' => 'state_id',
                'conditions' => '',
                'fields' => '',
                'order' => ''
            )
        );

        public function getContact($id)
        {
            if ($id) {
                $contact = $this->find('first', array('conditions' => array('Contact.id' => $id), 'fields' => array('id', 'image')));
                return $contact;
            } else {
                return false;
            }
        }

        public function afterFind($results = array(), $primary = false)
        {
            foreach ($results as $key => &$val) {
                if (isset($val['Contact'])) {
                    $this->decryptFields($val['Contact'], $this->fieldsToEncrypt());
                }
            }
        }