• TP之Model(select(),add())


    今天老师讲了MVC中最后一项Model,虽然老师讲解的过程中有点绕但是听了之后最大的感触是原来还可以这样去查询、添加

    操作之前要把配置写好,从父类中找到关于数据库的配置,复制到自己的配置文件中修改

        function showall()
        {
            //Model:数据库中每一张表对应一个模型
            //类名是表名:类里面的成员变量是列名
            //把一张表对应一个类,其中一条数据对应一个对象
            
            //如果我们对该表的模型没有特殊操作可以不用建立该模型(在Model里面建文件)
            
            //实例化Model类
            //$info=new HomeModelInfoModel(); //找具体的类名,必须建模型文件才能建对象
            //var_dump($info);
            
            //$info=D("Info");//快函数D方法创建子类对象
            //var_dump($info);
            
            $info=M("Info");//快函数M方法创建的为父类对象
            $car=M("Car");
            //var_dump($info);
            
            //var_dump($info->select());//返回的数据为二维数组
            
            //$attr=$info->where("code='p001'")->select();//添加查询条件,select返回的是二维数组不是对象,所以select()放在连贯操作最后
            //var_dump($attr);
            
            //$attr=$info->table("nation")->select();//table可以切换操作表
            //var_dump($attr);
            
            //$attr=$info->field("code,name")->select();//指定查询的字段
            //var_dump($attr);
            
            //$attr=$info->order("code desc,birthday")->select();//排序,默认asc
            //var_dump($attr);
            
            //$attr=$info->limit(2)->select();//进行分页查询,如果只有一个参数n指取前n个,两个参数则是跳过几个取几个
            //var_dump($attr);
            
            //$attr=$info->page(2,2)->select();//分页,取第n页的几条数据
            //var_dump($attr);
            
            //$attr=$car->field("brand,count(*)")->group("brand")->select();//分组
            //var_dump($attr);
            
            //join连接两张或几张表        
            //$attr=$car->join("brand on car.Brand=brand.Brand_Code")->select();
            //var_dump($attr);
            
            //distict去重
            //$attr=$car->distinct(true)->field("Brand")->select();
            //var_dump($attr);
            
            //find 根据主键取一条数据返回一维数组,只能取一个,不写主键值默认返回第一条数据
             //$attr=$car->find("c003");
             //var_dump($attr);
            //select 根据主键值查询返回二维数组,可以取多个
              //$attr=$car->select("c001,c003,c004");
              //var_dump($attr);
               
               $attr=$car->sum("Price");//聚合函数
               echo $attr;
            
             //$attr=$car->select();
             //var_dump($attr);
             //$this->assign("car",$attr);
             //$this->display();
             
        }
        
        function add()
        {
            if(empty($_POST))
            {   
            
                $nation=M("Nation");
                $attr=$nation->select();
                        
                $this->assign("nation",$attr);
            
                $this->display();
            }
            else
            {
            $model=M("Info");
            /*添加数据的第一种方式,用数组添加
            $attr=array(   //添加数组,必须是关联数组,key必须是字段名
            'Code'=>'P110',
            'Name'=>'liyun',
            'Sex'=>true,
            'Nation'=>'n002',
            'Birthday'=>'2000-7-9',
            );
            $model->add($attr);//添加数据的方法,需要参数,是一个关联数组*/
            
            /*$attr["Code"]="p007";
            $attr["Name"]="bb";        
            $attr["Sex"]=true;
            $attr["Nation"]="n005";
            $attr["Birthday"]="2000-5-6";
            
            $model->add($attr);*/
            //添加第二种方式 AR方式
            //1.连接类 2.实体类 3.数据访问类
            /*$model->Code="p112";
            $model->Name="HUIJU";
            $model->Sex=true;
            $model->Nation="n004";
            $model->Birthday="2000-3-5";
            
            $model->add();*/
            
            //第三种方式:自动收集表单 //这个一定要会用
            $model->create();//自动收集表单并且创建数据
            $model->Sex=$_POST["Sex"]=="男"?true:false;
            
            $r=$model->add();
            var_dump($r);
                if($r)
                {
                    $this->success("添加数据成功","add",3);
                }
                else
                {
                    $this->error("添加失败","add",3);
                }
                
            }
            
        }
        function addcar()
        { 
            if(empty($_POST))
            {   
                $brand=M("brand");
                $attr=$brand->select();
                
                $this->assign("brand",$attr);
                
                $this->display();
            }
            else
            { 
                $model=M("car");
                $model->create();
                $r=$model->add();
                if($r)
                {
                    $this->success("添加数据成功","addcar",3);
                }
                else
                {
                    $this->error("添加失败","addcar",3);
                }
                
            }        
        }

    自己加了点样式完善了一下下午老师讲的添加

  • 相关阅读:
    被隐藏的文件更改为可见
    Selenium WebDriver多层表单切换
    for循环
    Java课程设计二次大作业
    Java-DAO模式代码阅读及应用
    编辑器、编译器、文件、IDE等常见概念辨析
    树、二叉树和查找等知识点的总结
    二叉树的实现
    二叉树顺序结构和链式结构的相互转换
    使用k-近邻算法改进约会网站的配对效果
  • 原文地址:https://www.cnblogs.com/nannan-0305/p/5592415.html
Copyright © 2020-2023  润新知