第二节Thinkphp3.2.3 CURD操作

1.CURD介绍:

      CURD一般指创建(create),更新(update),读取(read),删除(delete)。

      ThinkPHP使用add、save、select和delete方法表示模型的CURD操作。

2.创建数据

      CURD的Create操作通常会通过表单来提交数据,我们在Home模块的View/Form

目录下面创建一个add.html 模板文件:

      <form method="post" action="__URL__/insert">
         标题:<input  type="text"name="title"><br/>
         内容:<textarea name="content" rows="5" cols="45"></textarea><br/>
        <input type="submit" value="提交">

      </form>

     表单中定义了提交地址是到Form控制器的insert操作,为了处理表单提交数据,我们需
要在FormController类中添加insert操作方法:

       <?php
        namespace Home\Controller;
        use Think\Controller;
        class FormController extends Controller{
public function insert(){
$Form=D('Form');
if($Form->create()){
$result=$Form->add();//add方法的返回值就是该主键的值。不是自增主键的话,返回值表示插入
数据的个数。如果返回false则表示写入出错。
if($result) {
$this->success('数据添加成功!');
       }else{
$this->error('数据添加错误!');
      }
}else{
    $this->error($Form->getError());
}
}

}

3.读取数据

      在Formcontroller中加一个read方法:

                    public function read($id=0){
$Form=M('Form');
//读取数据
$data=$Form->find($id);//find返回的是一维数组
if($data) {
$this->assign('data',$data);// 模板变量赋值
}else{
$this->error('数据错误');
}
       $this->display();

           }

    在模板文件中写入:

                 <table>
                 <tr>
<td>id:</td>
<td>{$data.id}</td>
                </tr>
                <tr>
<td>标题:</td>
<td>{$data.title}</td>
               </tr>
                <tr>
<td>内容:</td>
<td>{$data.content}</td>
               </tr>
</table>

          完成后,我们就可以访问http://localhost/app/index.php/home/Form/read/id/1,测试

         如果你只需要查询某个字段的值,还可以使用getField方法,例如:
         $Form=M("Form");
//获取标题

        $title=$Form->where('id=3')->getField('title');

     4.更新数据

            在模板文件中增加edit.html,来更新数据:

             <form method="post" action="__URL__/update">
              标题:<input  type="text"name="title">{$vo.title}<br/>

              内容:<textarea name="content" rows="5" cols="45">{$vo.content}</textarea><br/>

              <input type="hidden" name="id" value="{$vo.id}">

              <input type="submit" value="提交">

          </form>

         在FormController类添加两个操作方法:

            public function edit($id=0){
$Form=M('Form');
$this->assign('vo',$Form->find($id));
$this->display();
   }
  public function update(){
$Form=D('Form');
if($Form->create()) {
$resul=$Form->save();
     if($result){
$this->success('操作成功!');
   }else{
$this->error('写入错误!');
     }
                               }else{
 $this->error($Form->getError());
                                       }

}

      注意:数据的更新操作在ThinkPHP使用save方法,可以看到,我们同样可以使用create方法创建表单提交的数据,而save方法则会自动把当前的数据对象更新到数据库,而更新的条件其实就是表的主键。save方法会自动识别数据对象中的主键字段,并作为更新条件。

5.删除数据

      删除数据只需要调用delete方法,例如:
      $Form=M('Form');

      $Form->delete(5);

     表示删除主键为5的数据,delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件。

猜你喜欢

转载自blog.csdn.net/mo3408/article/details/79601361