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

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

操做以前要把配置写好,从父类中找到关于数据库的配置,复制到本身的配置文件中修改数组

 

    function showall()
    {
        //Model:数据库中每一张表对应一个模型 //类名是表名:类里面的成员变量是列名 //把一张表对应一个类,其中一条数据对应一个对象 //若是咱们对该表的模型没有特殊操做能够不用创建该模型(在Model里面建文件) //实例化Model类
        //$info=new \Home\Model\InfoModel(); //找具体的类名,必须建模型文件才能建对象
        //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);
            }
            
        }        
    }

本身加了点样式完善了一下下午老师讲的添加函数

相关文章
相关标签/搜索