【问题标题】:What is a proper way to use model inside component in cakephp?在 cakephp 中使用模型内部组件的正确方法是什么?
【发布时间】:2013-12-19 11:33:50
【问题描述】:

当从组件调用 Partner 模型时,它会显示错误。

App::import("MyPlugin.Model", "Partner");
$objPartner = new Partner();

致命错误:在第 287 行的 D:\htdocs\myapp\app\Plugin\MyPlugin\Controller\Component\TestComponent.php 中找不到类“合作伙伴”

【问题讨论】:

  • 也许您不需要初始化新模型,因为您可以从组件访问控制器并形成控制器,您可以访问与该控制器相关的任何模型
  • 您应该始终提及您正在使用的确切 cakephp 版本。

标签: cakephp-2.0


【解决方案1】:

永远不要使用 App::import。 始终在控制器或外壳范围内使用 loadModel 或始终工作

$Partner = ClassRegistry::init('Partner');

【讨论】:

  • 在您的情况下(模型在插件中),您将使用:$Partner = ClassRegistry::init('MyPlugin.Partner');
  • 当它是一个插件、模型时,是的。这个想法保持不变。
  • @mark,感谢您的回复,但我想知道我写的代码有什么问题。为什么你建议使用 ClassRegistry::init() 而不是 APP::import?
  • 只要做对就行。 App::import() 已过时,目前仅适用于第三方供应商文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多