Cakephp函数在模型中

时间:2014-02-07 08:25:56

标签: php cakephp cakephp-model

我使用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 个答案:

答案 0 :(得分:1)

您的模型中存在错误。事实上,当您在模型文件中时$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))));
      }

答案 1 :(得分:0)

你必须用持久对象来调用它我认为