我建立一個CakePHP程序,和我有不涉及任何控制器/模型一個MySQL表,但我需要插入/更新/在一個從該表中獲取數據我控制器/模型,我想用find
函數(我知道我可以編寫SQL語句並在我的模型中生成->query
,但我不想這樣做)。我在網上看到的唯一解決方案是連接模型和類似的東西。任何解決方案爲我的情況?CakePHP的數據導入到表中沒有模型
預先感謝您!
我建立一個CakePHP程序,和我有不涉及任何控制器/模型一個MySQL表,但我需要插入/更新/在一個從該表中獲取數據我控制器/模型,我想用find
函數(我知道我可以編寫SQL語句並在我的模型中生成->query
,但我不想這樣做)。我在網上看到的唯一解決方案是連接模型和類似的東西。任何解決方案爲我的情況?CakePHP的數據導入到表中沒有模型
預先感謝您!
模型不需要被控制器用作有效模型。如果要使用模型特徵在桌子上進行操作,請爲其創建一個模型或實時使用模型。
然後,您可以通過關聯(belongsTo,hasOne)從另一個模型中使用該模型。或者,創建使用ClassRegistry::init('ModelName');
如果你不需要模型有任何關聯的實例,只是想快速訪問查找記錄。您可以撥打ClassRegistry::init('ModelName')
,CakePHP將自動爲您創建模型。 (ModelName
應該是駝峯版本表,請參閱conventions)
例如:你在你的數據庫稱爲documents
表,但沒有一個Document.php
模型文件。調用ClassRegistry::init('Document');
將即時創建該表的模型。
ClassRegistry::init('Document')->find('all');
甚至
$Document = ClassRegistry::init('Document');
$Document->find('all');
在控制器,您還可以在飛行
$this->loadModel('Document');
$this->Document->find('all');
我們可以對錶進行操作使用loadModel()
,而無需創建模型文件。
如果我們有名爲「Holidays」的表,那麼我們可以在控制器中獲取如下的細節。
$this->loadModel("Holiday");
$result = $this->Holiday->find('all');
@ dogmatic69感謝。我今天不在。 – cgTag
謝謝你真的對我有幫助:) – Bankin
@ dogmatic69在你提供的兩種方法之間,控制器首選嗎? – Zetaphor