【问题标题】:cakephp use another model inside current modelcakephp 在当前模型中使用另一个模型
【发布时间】:2012-03-30 06:48:14
【问题描述】:

我知道我可以通过 $this->loadModel("MyModel") 在控制器中使用另一个模型,但是如何在另一个模型中执行此操作?我尝试使用 loadModel 但它不起作用。

有什么想法吗?

谢谢

【问题讨论】:

标签: php cakephp cakephp-1.3


【解决方案1】:

更简单的是:

$my_model = ClassRegistry::init('MyModel');

更多详情: Can I use one model inside of a different model in CakePHP?

【讨论】:

  • 这是最好的方法。如果您将App::importApp::uses 与模型构造函数一起使用,则会出现问题,例如使用翻译行为。原因:DboSource 类使用ClassRegistry::getObject 获取模型并读取虚拟字段。因此,为了防止使用同一模型的两个实例,请使用此解决方案。
【解决方案2】:

您可以使用以下代码以任何方式导出与当前模型无关的模型:

App::import('Model', 'MyModel');
$my_model = new MyModel();

如果MyModel 与当前模型相关联,您可以使用链接,例如$this->SomeModel->MyModel

【讨论】:

    【解决方案3】:

    您无需导入任何内容。 只需这样做:

    $my_model = new MyModel();
    //Then
    $my_model->read(null,$id);
    

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多