CakePHP应用开发第五章模型存取数据(7.数据的保存和更新)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本文由麦可网整理,转载请注明出处CakePHP应用开发:第五章模型——存取数据(7.数据的保存和更新)CakePHP提供了一些内置的模型方法以帮助我们完成一些常见的数据库操作——其中包括保存和修改数据库记录。在下面这部分,我们首先将看一个保存数据的实例,然后我们再看一个如何在CakePHP中更新数据库记录的例子。SavingData保存数据我们将继续在我们已经创建的Book模型上进行我们的实验。在下面的动手时间中,我们将会创建一个简单的应用程序,它可以接受用户提交的书本信息,然后将这些信息保存进数据库。动手时间:将数据保存进数据库1,在BooksController中(位置app/controllers/books_controller.php),添加一个新的操作add(),代码如下:?phpclassBooksControllerextendsAppController{var$name='Books';var$helpers=array('Form');functionindex(){$books=$this-Book-find('all',array('fields'=array('Book.isbn','Book.title','Book.author_name'),'order'='Book.titleASC'));$this-set('books',$books);}functionadd(){if(!empty($this-data)){$this-Book-create();if(!!$this-Book-save($this-data)){$this-Session-setFlash('BookisSaved!',true);$this-redirect(array('action'='index'));}}}}?2,现在为'/books/add'操作添加一个对应的视图文件(文件位置:app/views/add.ctp),代本文由麦可网整理,转载请注明出处码如下:?phpecho$form-create('Book');?fieldsetlegendAddNewBook/legend?phpecho$form-input('isbn');echo$form-input('title');echo$form-input('description');echo$form-input('author_name');?/fieldset?phpecho$form-end('Submit');?3,现在在浏览器中输入如下网址,然后添加一本新书的信息怎么回事?首先我们在Books控制器中(BooksControlle)添加了一个名为add()的新操作。在这个操作中,我们使用下面这段代码来检查CakePHP是否收到视图发送过来的表单数据:if(!empty($this-data)){如果视图并没有返回任何数据,它就会呈现一个视图文件(/apps/views/add.ctp)。在这个视图文件中,我们使用了CakePHP的FormHelper(助手)创建了一个表单用以接受用户输入的书本信息。视图文件中的第一行代码会生成一个form的起始标签:?phpecho$form-create('Book');?我们通过将Book作为Form助手的一个参数把这个表单与Book模型绑定起来。我们然后使用Form助手的input()方法为表单添加了以一些可以接受ISBN。书名,描述,作者等信息的输入框:?phpecho$form-input('isbn');echo$form-input('title');echo$form-input('description');echo$form-input('author_name');?我们将对应数据库表中的字段名作为input()的参数。这会有有助于CakePHP的表单助手自动将这些输入框与对应的数据库表中的字段绑定起来。另外,这个表单的默认操作(也就是表单提交给的对象)被设置成了对应控制器中的add()操作。在添加了这些输入框之后,我们使用如下代码添加了一个提交按钮,并将form标签闭合。?phpecho$form-end('Submit');?现在,关于表单助手我们了解这么多就够了。我们将会在第7章节对这个实用的助手做更多的了解。现在,如果你访问这个链接,浏览器会显示下面截图中的这个表单:本文由麦可网整理,转载请注明出处

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功