【问题标题】:How to access a Model that isn't part of a Controller in CakePHP如何在 CakePHP 中访问不属于 Controller 的模型
【发布时间】:2012-02-21 11:01:17
【问题描述】:

我目前在一个名为 Content 的控制器中工作。在这个控制器中,我有一个函数,当有人进入主页时会调用它,大部分数据将从内容模型中提取。

但是,我想显示来自另一个名为 Phones 的模型的数据。当我输入此代码时:

$phones = $this->Phone->find('all');

我收到以下错误:

致命错误:在非对象上调用成员函数 find()

当我将 PHP 代码的 Phone 部分更改为 Content 时,它工作正常。所以我猜我目前无法从 Content 控制器内部访问 Phone 模型。

有没有办法实现从控制器外部访问模型的方法?

【问题讨论】:

    标签: cakephp cakephp-2.0


    【解决方案1】:
    $this->loadModel('Phone'); # Important: singular!!!
    $this->set('phones', $this->Phone->find('all')); 
    

    【讨论】:

    • 另请注意:您也可以始终使用 $Model = ClassRegistry::init('ModelName') (在控制器以外的其他类中)
    【解决方案2】:

    下面试试

    $this->loadModel('Phone');
    $this->set('phones', $this->Phone->find('all')); 
    

    干杯

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      相关资源
      最近更新 更多