簡體   English   中英

從同一控制器加載多個模型

[英]Load multiple models from same controller

我有3張桌子。

表1與表2具有一對多關系。

表2與表3具有一對多關系。

我想編寫一個Web服務API,允許用戶同時向所有3個表添加行。 CakePHP的問題在於,它僅允許控制器訪問其自身相應模型的數據。

控制器如何訪問其他模型?

特別是對於我的情況,我應該使用哪個表? 由於Table1是其他表的父表,因此它會是一個好的開始嗎?

我正在使用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具有協會的強大功能。 如我們所見,您的模型已關聯。 如果未與我們需要獲取或插入的其他模型關聯,則使用“ loadModel”。

在您的情況下,您可以使用任何模型,因為其余模型與另一個已關聯的模型相關聯。

ig Table1 <=> Table2 Table2 => Table3

Table1 <=> Table2 => Table3(已創建此鏈)。 您還可以訪問插入數據。

要將數據保存在關聯的模型中,請參考此鏈接。

http://book.cakephp.org/2.0/en/models/saving-your-data.html

如果您想同時添加行,則可以使用$ this-> ModelName-> save related()保存。

好吧,我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM