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