CakePHP将数据导入到没有模型的表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CakePHP将数据导入到没有模型的表中相关的知识,希望对你有一定的参考价值。

我正在构建一个Cakephp应用程序,我有一个与任何控制器/模型无关的mysql表,但我需要在我的一个控制器/模型中插入/更新/获取此表中的数据,我想用find函数(我知道我可以在我的模型中编写SQL语句并生成->query,但我不想这样做)。我在网上看到的唯一解决方案是连接模型和类似的东西。我案的任何解决方案?

先感谢您!

答案

控制器不需要将模型用作有效模型。如果您想使用模型功能在桌面上操作,请为其创建模型或动态使用模型。

然后,您可以通过关联(belongsTo,hasOne)从另一个模型中使用该模型。或者,使用ClassRegistry::init('ModelName');创建一个实例

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

例如:您的数据库中有一个名为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”的表,那么我们可以在控制器中获取如下的详细信息。

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

以上是关于CakePHP将数据导入到没有模型的表中的主要内容,如果未能解决你的问题,请参考以下文章

Cakephp保存没有id的数据

如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

Tutorial中代码的区别及不同效果

Python实现MySQL数据库连接---pymysql

CakePHP 类自定义导入

CakePHP 模型链接,belongsTo,hasOne