访问另一个CakePHP';控制器中的模型?
假设我有两个这样的控制器访问另一个CakePHP';控制器中的模型?,cakephp,Cakephp,假设我有两个这样的控制器Table1sController,和Table2sController。 具有相应的模型:Table1sModel,Table2sModel 在表格1sController中,我得到了以下信息: $this->Table1sModel->action(); 假设我想访问Table2sModel中的一些数据 如何在Table1sController中执行类似操作? 我在Table1sController中尝试过这一点: $this->Table2sMo
Table1sController
,和Table2sController
。
具有相应的模型:Table1sModel
,Table2sModel
在表格1sController
中,我得到了以下信息:
$this->Table1sModel->action();
假设我想访问Table2sModel
中的一些数据
如何在Table1sController
中执行类似操作?
我在Table1sController中尝试过这一点:
$this->Table2sModel->action();
但我收到了如下错误消息:
未定义的属性:Table1sController::$Table2sModel
这里有几种方法 如果您的模型定义了关联(hasMany等),那么您可以通过以下方式访问该模型的方法(假设您在Model1Controller中): 如果两个模型之间没有模型关联,但希望能够使用Model2的方法,则可以在model1Controller的$uses属性中添加一个条目。看
最后,如果它是一个临时连接(您不希望每次都加载其他模型的开销,因为您很少访问model2),请查看手册中关于动态创建/销毁关联的部分,位于 在任何控制器中,您都可以指定$uses=array('Table1sModel','Table2sModel','LolModel')并在控制器中使用所需的每个模型。您没有调用其他控制器来访问模型。模型用于数据访问,您可以直接从任何控制器访问所需的模型 我知道,很多MVC示例几乎总是显示一个控制器的一页和一个模型,这是非常错误的,因为99%的情况下,一个控制器的一个站点使用不同模型的许多不同部分 (如果确实需要调用操作,请使用$this-requestAction()
$this->Model1->Model2->method();