YII 数据库查询

        $userModel = User::Model();
        $userModel->count();
        $userModel->count($condition);
        $userModel->count($condition, $params);
        $userModel->countByAttributes($attributes);
        $userModel->countByAttributes($attributes, $condition);
        $userModel->countByAttributes($attributes, $condition, $params);
        $userModel->countBySql($sql);
        $userModel->countBySql($sql, $params);

      //  $userModel = User::Model();
        $userModel->find();
        $userModel->find($condition);
        $userModel->find($condition, $params);

        $userModel->findByPk($pk);
        $userModel->findByPk($pk, $condition);
        $userModel->findByPk($pk, $condition, $params);
        $userModel->findByAttributes($attributes);
        $userModel->findByAttributes($attributes, $userModel);
        $userModel->findByAttributes($attributes, $userModel, $params);

        $userModel->findBySql($sql);
        $userModel->findBySql($sql, $params);

        //返回值为对象数组,若为空则返回NULL,为一条记录
        $findResult = $userModel->find('islock = :islock and phone_status=:phone_status',array(':islock' => 1,':phone_status'=>1));
        echo $findResult -> phone_status."<br />";
        var_dump($findResult->attributes);
        if($userModel->find('user_id=260')){
            echo 'find';
        }else{
            echo 'no find';
        }

参数解释:上面均返回一条记录 如果要返回多条数据findALL类似的

$condition 是一般sql里面where子句,一个字符窜

$params 是一个数组,为占位符赋值

查询出来所有数据:

        $userinfo= $userModel->findAllByAttributes(array('islock'=>1,'phone_status' => 0));
        foreach($userinfo as $k => $v){
            echo $v->user_id."  ".  $userinfo[$k][user_id]."<br />";
        }

可见,结果是一个二维数组。

讲CDbcriteria和Model对象进行结合

        $criteria = new CDbCriteria;
        if($condition) $criteria->condition = $condition;
        $criteria->offset = $offset;
        if($order) $criteria->order = $order;
        if($limit!="ALL") $criteria->limit = $limit;
        if(!empty($more_criteria)){
            $criteria->mergeWith($more_criteria);
        }
        $Model = new $modelName;

        if(!empty($with_array)){
            $result = $Model->with($with_array)->findAllByAttributes($attributes,$criteria);
        }else{
            $result = $Model->findAllByAttributes($attributes,$criteria);
        }
时间: 2024-10-11 10:49:23

YII 数据库查询的相关文章

YII 数据库相关操作

CDbConnection:  一个抽象数据库连接 CDbCommand:     SQL statement CDbDataReader:  匹配结果集的一行记录 CDbTransaction:数据库事务 访问数据库前需要建立数据库连接:使用DAO建立一个抽象数据库链接: $connection = new CDbConnection($dsn, $username, $password); $connection->active = true;     // 只有激活了连接才可以使用 $co

yii 数据库 Active Record

// 查找满足指定条件的结果中的第一行 $post=Post::model()->find($condition,$params); // 查找具有指定主键值的那一行 $post=Post::model()->findByPk($postID,$condition,$params); // 查找具有指定属性值的行 $post=Post::model()->findByAttributes($attributes,$condition,$params); // 通过指定的 SQL 语句查找

YII 数据库相关操作(转)

CDbConnection: 一个抽象数据库连接CDbCommand: SQL statementCDbDataReader: 匹配结果集的一行记录CDbTransaction:数据库事务 访问数据库前需要建立数据库连接:使用DAO建立一个抽象数据库链接: $connection = new CDbConnection($dsn, $username, $password);   $connection->active = true;     // 只有激活了连接才可以使用   $connect

YII数据库增删查改操作

初学YII, 整理了一些YII数据库的相关操作,  共同学习,共同进步. 一.查询数据集合 1 //1.该方法是根据一个条件查询一个集合 2 $admin=Admin::model()->findAll($condition,$params); 3 $admin=Admin::model()->findAll("username=:name",array(":name"=>$username)); 4 5 //2. findAllByPk(该方法是

第九十九天上课 PHP TP框架 数据库查询和增加

在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yonghuModel extends Model { } 实例化数据库的三种方法 //调用Model文件夹下的模型 public function shujuku1() { $yonghu=new \Home\Model\yonghuModel; //实例化自己创建的Model,(注意路径书写完整) var_d

基于py3和pymysql的数据库查询,查询某几列的数据

#python3 #xiaodeng #基于py3和pymysql的数据库查询,查询某几列的数据 import pymysql conn=pymysql.connect(....) cur=conn.cursor() cur.execute("select name,age from nlist") data=cur.fethall() for name,age in data: print name,age conn.close() cur.close()

Delphi多线程数据库查询(ADO)

ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize.调用CoInitialize失败会产生"CoInitialize was not called"例外. 2.画布不允许绘画(Canvas does not allow drawing):所以,必须通过Synchronize过程来通知主线程访问主窗体

SQL数据库查询方法

SQL数据库查询方法 简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 selec

T端带数据库查询的假人系统

commit 87f8ac21ca6d2d086984dfc39b1869dc51ecd36f Author: Vitasic <[email protected]> Date: Tue Jun 26 15:43:38 2012 +0400 Add Fake Players diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 966eae5.