CakePHP不使用模型将数据导入表

CakePHP不使用模型将数据导入表,cakephp,model,controller,Cakephp,Model,Controller,我正在构建一个CakePHP应用程序,我有一个MySQL表,它与任何控制器/模型都不相关,但我需要在我的一个控制器/模型中插入/更新/获取该表中的数据,我想使用find函数来完成(我知道我可以在我的模型中编写SQL语句并进行->查询,但我不想这样做)。我在网络上看到的唯一解决方案就是连接模型和类似的东西。我的案例有什么解决方案吗 提前感谢!控制器不必使用模型作为有效模型。如果要使用模型功能在工作台上操作,请为其创建模型或动态使用模型 ClassRegistry::init('Document')

我正在构建一个CakePHP应用程序,我有一个MySQL表,它与任何控制器/模型都不相关,但我需要在我的一个控制器/模型中插入/更新/获取该表中的数据,我想使用
find
函数来完成(我知道我可以在我的模型中编写SQL语句并进行
->查询
,但我不想这样做)。我在网络上看到的唯一解决方案就是连接模型和类似的东西。我的案例有什么解决方案吗


提前感谢!

控制器不必使用模型作为有效模型。如果要使用模型功能在工作台上操作,请为其创建模型或动态使用模型

ClassRegistry::init('Document')->find('all');
然后,您可以通过关联(belongsTo,hasOne)从另一个模型使用该模型。或者,使用
ClassRegistry::init('ModelName');

如果您不要求模型具有任何关联,只需要快速访问以查找记录。您可以调用
ClassRegistry::init('ModelName')
,CakePHP将自动为您创建模型。(
ModelName
应该是表的CamelCase版本,请参阅)

例如:数据库中有一个名为
documents
的表,但没有
Document.php
模型文件。调用
ClassRegistry::init('Document');
将动态为该表创建一个模型

ClassRegistry::init('Document')->find('all');
甚至

$Document = ClassRegistry::init('Document');
$Document->find('all');
在控制器中,您还可以动态使用
loadModel()

$this->loadModel('Document');
$this->Document->find('all');

我们可以在不创建模型文件的情况下对表进行操作

如果我们有名为“Holidays”的表,那么我们可以在controller中获取以下详细信息

$this->loadModel("Holiday");
$result = $this->Holiday->find('all');

谢谢,这对我真的很有帮助:)@dogmatic69在您提供的两种方法之间,哪种方法更适合控制器?