我有3个表。
表1与表2有一对多关系。
表2与表3有一对多关系。
我想写一个web服务API,允许用户在同一时间向所有3个表添加行。CakePHP的问题在于它只允许一个控制器访问它自己对应的模型的数据。
控制器如何访问其他模型?
对于我的例子,我应该使用哪个表?表1将是一个好的开始,因为它是其他表的父表?
我使用的是Cakephp2.4.5
你需要加载模型试试这个
$tempfirst = array();
$this->loadModel('Model1');
$tempfirst = $this->Model1->find();
$tempsecond = array();
$this->loadModel('Model2');
$tempsecond = $this->Model2->find();
或
你可以使用控制器类的"uses"属性
public $uses = array('Model1', 'Model2');
我建议使用关联。Cakephp拥有该协会的强大功能。正如我们所看到的,你们的模型是相关联的。
在您的情况下,您可以使用任何模型,因为其余模型与另一个有关联的模型相关联。
专营表1 <=>表2表2 =>表3
Table1 <=> Table2 =>Table3(此链已创建)。您可以访问和插入数据。
在关联模型中保存数据,请参考此链接。
http://book.cakephp.org/2.0/en/models/saving-your-data.html如果您想同时添加行,您可以使用$this->ModelName->save associated()。
我不确定。