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);
            }
            
        }        
    }

本身加了點樣式完善了一下下午老師講的添加函數

相關文章
相關標籤/搜索