zoukankan      html  css  js  c++  java
  • 8.5 数据库模型操作

    //模型层

    <?php namespace appdemomodel; use thinkModel; class Student extends Model{ //获取器 public function getSsexAttr($val){ switch($val){ case 1: return "男"; break; case 2: return "女"; break; default: return "未知"; break; } } //修改器 public function setClassAttr($val){ return md5($val); } //设置,如果没有赋值,需要自动完成的字段 public $auto = ['Sno','Ssex']; public function setSnoAttr(){ return 18; } public function setSsexAttr(){ return 1111; } } ?>

    控制层

    <?php
         namespace appdemocontroller;
         
         use thinkController;
         use appdemomodelStudent;//引入模型
         
         class Demo extends Controller{
             public function test(){
                 //得到student表中id为4的而数据
                 $student = new Student;
                 //dump($student->get(4)->toArray());
                 //查询操作
                 //1 条件查询
                 //dump($student->get(["sno"=>101])->toArray());
                 //2 闭包查询
                 /*$data = $student->get(function($query){
                    $query->where('Sname','孙权');
                });
                dump($data->toArray());*/
                //3 find方法
                //$data = $student->where('Sname','刘备')->find();
                //4 查询多条数据
                /*$data = Student::all('1,2,3');
                foreach($data as $key=>$stu){
                   dump($stu->toArray());
                }*/
                //5 插入数据
                //插入一条
                /*$student->data(['id'=>'','Sno'=>'1000','Sname'=>'哈哈','Ssex'=>"男",'Sbirthday'=>"男","Class"=>"96080"]);
                $student->save();
                //插入多条
                $list = [
                ['id'=>'','Sno'=>'1000','Sname'=>'哈哈','Ssex'=>"男",'Sbirthday'=>"男","Class"=>"96080"],
                ['id'=>'','Sno'=>'1000','Sname'=>'哈哈','Ssex'=>"男",'Sbirthday'=>"男","Class"=>"96080"]
                ];
                dump($user->saveAll($list,false));        */    
                //更新
                /*$student->save(['Sname'  => '张辽','Sno' => 201],
                ['id' => 1]);*/
                //根据主键删除
                //Student::destroy([1,2,3]);
                // 条件删除 :删除id为0的数据
                //Student::destroy(['id' => 0]);
                //获取器
                /*$data = $student->get(['id'=>'7']);
                dump($data->toArray());*/
                //修改器
                /*$data = $student->save(['Class'=>'345'],['id'=>'9']);
                dump($data);*/
                //自动完成
                //这里没有对age和sex赋值
                /*$data = $student->save(['Class'=>'345'],['id'=>'8']);
                dump($data);*/
             }
             
         }
        //时间戳
        /*  系统支持自动写入创建和更新的时间戳字段
        第一种方式,是在数据库配置文件中添加全局设置:
        // 开启自动写入时间戳字段
        'auto_timestamp' => true,
        第二种是直接在单独的模型类里面设置:
        protected $autoWriteTimestamp = true;
        如果这两个地方设置为true,默认识别为整型int类型,如果你的时间字段不是int类型的话,例如使用datetime类型的话,可以这样设置:
        // 开启自动写入时间戳字段
        'auto_timestamp' => 'datetime',
        或者
        protected $autoWriteTimestamp = 'datetime';*/
    ?>
  • 相关阅读:
    教你怎么叠T恤
    最动人的情歌《The Power of Love》by Celine.Dion
    使代码简洁的 5 条忠告
    Timeout MessageBox
    内联函数
    局部对象
    const用法(转)
    心情
    内联函数
    局部对象
  • 原文地址:https://www.cnblogs.com/sunhao1987/p/9426412.html
Copyright © 2011-2022 走看看