Joomla文档中文翻译 - MVC组件开发:数据库 - 获取数据

thumb-joomla-doc-viiiix在前面的文档中,我们相继学习了怎样创建Joomla MVC组件的入口点、控制器、视图模板及模型;今天我们进入第三部分的学习,结合之前创建的模型来看看数据库及数据传递获取方面的内容。

获取数据

目前我们的模型中有一个方法:getGreeting();可以参考“Joomla文档中文翻译 - MVC组件开发:模型 - 创建模型”回顾一下;这个方法很简单所要做的只是返回一个写在代码中的字符串。在真实的情境中,我们要使问候语字符串作为数据保存在数据库中,并可以被读出,而不是像之前那样直接写在代码里面。后文中我们会来看看怎样创建一个SQL文件,并在hello.xml文件中添加相应的代码来确保组件在安装的时候,这个SQL文件以及一些预设的问候语 可以各就各位。现在,我们先来修改一下模型文件中getGreeting()方法的返回值部分,将原先的字符串替换为可以从数据库中读取数据的代码。

首先,要引用数据库对象;使用如下的代码:

$db =& JFactory::getDBO();

JFactory是Joomla中的一个静态类,通过它可以引用很多类型的系统对象。更多关于JFactory的详情可以参见API文档中的JFactoryAPI。JFactory的getDBO方法顾名思义就是get database object。

数据库对象引用OK了,接下来我们分两步来获取数据:

  1. 将我们的查询参数存储到数据库对象中。
  2. 加载获取到的结果。

现在,新的getGreeting()方法的完整代码如下:

function getGreeting()
{
   $db =& JFactory::getDBO();
 
   $query = 'SELECT greeting FROM #__hello';
   $db->setQuery( $query );
   $greeting = $db->loadResult();
 
   return $greeting;
}

其中#__hello是数据表的名称,在我们接下来创建SQL文件时会讲到;下面一行代码通过数据库对象$db保存我们的查询参数,然后通过loadResult()方法将获取到的数据赋值给$greeting,并返回其值。

今天就到这里,明天我们来看看怎样创建SQL文件。

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: Developing a Model-View-Controller Component - Part 3 - Using the Database


收藏与分享

添加评论


Security code
换一张图