使用CakePHP模型检索数据 |
本文标签:CakePHP模型 检索数据 下面介绍如何使用CakePHP模型来检索数据 。有关CakePHP模型的配置,可参考之前一篇文章 。 检索数据 在CakePHP中有一些内置的模型方法(model methods),这些模型方法可以帮助开发者从数据库的表中轻松检索数据 。我们将会在之前创建的Book模型身上试验其中一些函数的用法 。 使用模型来检索数据 在很多情况下,我们需要找出符合某一条件的所有数据 。在CakePHP中,对数据库进行查询操作都是通过模型的方法来完成的 。CakePHP的模型都有一些内置的方法,这些方法可以让开发者不用费多大力气就可以轻松执行这类查询操作 。在下面这一部分,我们将会看到一个循序渐进的实例,学习如何在数据库表中检索数据 。 动手时间:使用模型来检索数据 1,在BooksController中去除掉脚手架,然后在控制器中添加一个index操作,代码如下
2,为/books/index操作创建一个视图文件(视图文件的位置:/app/views/books/ index.ctp)
3,现在在浏览器中打开如下链接,你会看到从一个数据库表中检索到并显示出来的所有书的列表 。 http://localhost/data-access/books/ 怎么回事? 首先,我们在BooksController中移除了脚手架,然后,我们在其中添加了一个名为index的新操作 。通过在index()操作中调用BooksController的属性 $this->Book ,我们可以访问对应的模型Book 。在CakePHP中,对应模型类的实例(instance)在控制器中会作为控制器的属性供人使用 。我们在index()操作中添加如下代 码:
我们已经调用了Book模型中带有参数的内置方法find(),然后将返回的结果存储在一个名为$books的变量中 。第一个参数all指明了我们想从books表中调取所有记录 。 第二个参数包含一个关联数组,它有两个键:字段和排序 。字段键也是一个数组,它是用来指明find()查询所需要调取的 具体字段 。我们只对ISBN书号,书名,以及作者感兴趣 。因此字段键的键值被设置成了一个只包含这些字段名称的数组 。第二个键order是用来指明查询结果的排序方向 。我们把它的键值设置成了Book.title ASC,这是告诉模型按照书名的升序来排序 。
在我们的视图文件中,我们对$books数组进行了迭代循环操作,将所有我们需要的信息显示出来 。现在,访问http://localhost/data-access/books/,我们会看到下面这样一个页面 。 以上便实现了使用CakePHP模型进行数据检索 。 |