Yii框架SQL语句操作数据库

众所周知,Yii框架的特点就是面向对象,MVC架构。他的控制层和数据层分开,每次需要对表操作的时候,新手一般都只知道调用Yii给我们提供的方法,例如:findByAttributes(array(XXX="XXX"))之类的。

但是在实际的开发中,我们发现这样的方法有些时候根本满足不了我们的需求,所以我们需要自己使用SQL来控制我们的表,因为精确的控制才能得到良好的效果,这里记录一下在YII框架中的SQL语句操作数据库

 

control层中的代码:

    public function actionRenzhengno()
    {
        $criteria = new CDbCriteria;
        $sql = "SELECT * FROM basic_user where authenticate=1 and uid not in(select uid from user_auth)";
        $model= Yii::app()->dbcar->createCommand($sql)->queryAll();
        //var_dump($model);exit();
        $pages = new CPagination(count($model)); 
        //var_dump($pages->itemCount);exit();
        $pages->pageSize = 20;
        $pages->applylimit($criteria);
        $model=Yii::app()->dbcar->createCommand($sql." LIMIT :limit offset :offset");
        $model->bindValue(':offset', $pages->currentPage*$pages->pageSize);
        $model->bindValue(':limit', $pages->pageSize);
        $model=$model->queryAll();
       
        $this->render('renzhengno',array(
   'model'=>$model,
            'pages'=>$pages,
            'all'=>$pages->itemCount,
  ));
    }

 

 

这里只是一个小例子,各位可以根据自己的需要进行修改。

posted @ 2013-09-24 15:48  沈帅帅  阅读(1390)  评论(0)    收藏  举报