我已经在我的CakePHP 2.0应用程序中创建了一个库类文件。它是一个名为emailManager
的PHP类,存在于CakePHP的libaray文件夹中的emailManager
文件夹中。我想知道从这个库类引用数据库的最简单方法是什么。
我希望能够像这样做$this-
另外,我觉得有一点很重要,那就是我使用的表不符合CakePHP表命名约定。它们早于我们使用CakePHP的时间,因此我无法更改我的表以适应CakePHP的模型格式。这就是为什么我希望通过
query
编辑:我已经构建了一个临时解决方案,但我知道更好的解决方案是可能的。我的cake应用程序中有一个名为
MySimpleConstruct
的模型,然后在库文件中包括MySimpleConstruct
模型,如下所示:
// import this model
$this->GivenModel = ClassRegistry::init('MySimpleConstruct');
$this->GivenModel = new MySimpleConstruct();
// Then it is possible to do as followed:
$table_data = $this->GivenModel->query('SELECT * FROM like_some_table_dude' WHERE 1);
这并不理想,因此我仍在寻找更好的解决方案。任何帮助都将不胜感激。
@约翰·高尔特,我想这不是一个精确的复制品,但它非常相似,而且这个解决方案确实非常直接地适用于你的情况。您可以考虑使用的另一种技术是实例化控制器中的库,而不给它提供模型参考。
class TestController extends AppController {
function index(){
App::uses('TheLibrary', 'Lib');
$obj = new TheLibrary();
$obj->GivenModel = &$this->GivenModel;
}
}
-编辑-然后在您编写的库中执行类似的操作。
class TheLibrary {
var $GivenModel = null;
function some_query(){
return $this->GivenModel->query('SELECT * FROM like_some_table_dude WHERE 1');
}
}
第一个代码段是控制器实例化库,然后将模型的引用作为属性GivenModel提供给库。"
我知道您正试图使用库中的模型,这就是您在编辑中的解决方案和我提出的解决方案所做的。然而,我将再次指出,这不是正确的MVC约定,您应该重新考虑如何使用库。
我们正忙于一个需要支持多种语言的CakePHP项目。但有一个问题....有些页面不支持其他语言。因此,有西班牙网页,需要隐藏的意大利版本的网站。在CakePHP中对此有什么更好的解决方案? 只要您切换语言,我们就可以切换数据库,但问题是,作为用户,我们将错过重要的数据,如果我们这样做的话。如果只搜索西班牙文、意大利文、德文、英文、荷兰文和瑞典文的文章,可能会使数据库负荷过重。或者如果我们索引语言栏
一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系
我有一个内置在Django的系统可以接收数据。我将数据存储如下: 我们期望每个传感器的在每个后续消息中增加一个。如您所见,传感器B的message_id为:1、2、4、7。这意味着传感器B丢失了编号为3、5和6的消息。在这种情况下,我们需要调查丢失的消息,特别是如果丢失了很多消息。所以我现在想要一种方法,当它发生的时候,知道这些丢失的消息。 所以我想检查一下在过去的五分钟内是否缺少一条消息。我希望
问题内容: 希望我能为每个数据库服务器得到答案。 有关索引如何工作的概述,请查看:数据库索引如何工作? 问题答案: 以下是SQL92标准,因此大多数使用SQL的RDMBS应该支持它:
问题内容: 鉴于索引随着数据集的增加而变得非常重要,有人可以解释在数据库不可知的级别上索引是如何工作的吗? 问题答案: 为什么需要它? 当数据存储在基于磁盘的存储设备上时,它将作为数据块存储。完全访问这些块,使它们成为原子磁盘访问操作。磁盘块的结构与链接列表几乎相同。两者都包含一个数据节,一个指向下一个节点(或块)位置的指针,并且都不需要连续存储。 由于许多记录只能在一个字段上排序,因此我们可以说
我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:
问题内容: 我正在尝试创建一个用于在PHP上执行oracle sql语句的类。 这是我的index.php,我正在尝试调用我的函数 和我的dbcontrol.php用于我的功能 我不确定似乎有什么问题。但是每次我运行这个。页面上未显示任何内容。没有结果,没有数据。但是我确信数据库中有数据。 问题答案: 您总是得到空白页的原因是: oci_num_rows()函数不会返回您可能认为的所选行数。它返回
我使用 liquibase 变更集创建了一个 Postgresql 数据库 A。现在,我正在创建一个应用程序,该应用程序允许创建新的数据库 B 并从数据库 A 实时复制架构,包括 liquibase 变更集,因为数据库以后仍然可以更新。请注意,在数据库 A 中复制的架构时,可能已经更新,从而使基本变更集过时。 我的主要问题是: 如何使用liquibase将PostgreSQL模式x从数据库a(在运