Функция Cakephp в модели

Я разрабатываю сайт с использованием CakePHP. Но время отклика слишком медленное. Итак, я хочу реализовать толстую модель и тощий контроллер.

Но я получил

Вызов функции-члена fashionpage() для необъекта

при вызове функции fashionpage в контроллере.

У меня есть модель Home (отношения: Home hasMany Cart)

Мой контроллер:

public function fashionlist() {
        $user = $this->Auth->user('id');

        $counter = $this->Home->fashionpage($user);
        $this->set(compact('user', 'counter'));
    }

Моя модель:

public function fashionpage($user = null) {
        return $this->Home->Cart->find('count', array('conditions'=>
                                                   array('conditions'=>array('User.id'=>$user))));
      }

Кто-нибудь может мне помочь, пожалуйста.

2 ответа

В вашей модели есть ошибка. На самом деле, когда вы находитесь в файле модели $this это модель (дома в вашем случае), так что не нужно делать $this->Home->Cart, но просто $this->Cart

так нет

public function fashionpage($user = null) {
        return $this->Home->Cart->find('count', array('conditions'=>
                                                   array('conditions'=>array('User.id'=>$user))));
      }

но

public function fashionpage($user = null) {
        return $this->Cart->find('count', array('conditions'=>
                                                   array('conditions'=>array('User.id'=>$user))));
      }

Вы должны назвать это с постоянным объектом, я думаю

Другие вопросы по тегам