我有3张桌子。
Table1与Table2有一对多的关系。
表2与表3具有一对多的关系。
我想编写一个Web服务API,允许用户同时向所有3个表添加行。 CakePHP的问题在于它只允许控制器访问自己相应模型的数据。
控制器如何访问其他型号?
特别是对于我的情况,我应该使用哪个表格? Table1是一个好的开始,因为它是其他表的父级吗?
我正在使用Cakephp2.4.5
答案 0 :(得分:2)
你需要加载模型试试这个
$tempfirst = array();
$this->loadModel('Model1');
$tempfirst = $this->Model1->find();
$tempsecond = array();
$this->loadModel('Model2');
$tempsecond = $this->Model2->find();
或强>
您可以使用控制器类的“使用”属性
public $uses = array('Model1', 'Model2');
答案 1 :(得分:2)
我建议和协会一起去。 Cakephp拥有协会的优秀设施。我们可以看到您的模型是相关联的。如果“loadModel”与我们需要获取或插入的其他模型没有关联,则使用“loadModel”。
在您的情况下,您可以使用任何模型,因为休息与另一个具有关联的另一个模型相关联。
i.g 表1< =>表2 表2 =>表3
表1< =>表2 =>表3(此链已创建)。您也可以访问以及插入数据。
要在关联模型中保存数据,请参阅此链接。
答案 2 :(得分:0)
如果您想同时添加行,可以使用$ this-> ModelName-> save associated()。
好吧,我不确定。