【问题标题】:How to access non-child models from other controller in CakePHP?如何从 CakePHP 中的其他控制器访问非子模型?
【发布时间】:2012-02-21 11:46:34
【问题描述】:

我无法找到有关如何使用不属于当前控制器的模型的信息。

例如:我有一个只向应用程序发送 JSON 数据的 ajax 控制器。该控制器需要根据请求访问不同的模型。

我该怎么做?

【问题讨论】:

    标签: cakephp models


    【解决方案1】:

    查看标题为$components, $helpers and $uses 的手册部分,您正在寻找$uses:

    <?php
    class RecipesController extends AppController {
    var $name = 'Recipes';
    var $uses = array('Recipe', 'User'); // both models will be available
    var $helpers = array('Ajax');
    var $components = array('Email');
    }
    ?>
    

    【讨论】:

      【解决方案2】:

      $uses 会导致性能下降。更好的方法是:

      $User = ClassRegistry::init('User');
      $User->find(...);
      

      【讨论】:

        【解决方案3】:

        如果 Recipe 和 User 模型相关,您可以执行以下操作:

        $this->Recipe->User->find(....);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-15
          • 2019-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-23
          相关资源
          最近更新 更多