zoukankan      html  css  js  c++  java
  • 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);
            }




  • 相关阅读:
    13张PPT带你了解主动式消息队列处理集群
    TomatoLog-1.1.0实现ILoggerFactory
    番茄日志发布1.0.3版本-增加Kafka支持
    博客园升级有感一点建议
    上车时机已到--.NETCore是适应时代发展的雄鹰利剑
    花5分钟时间来了解一下高性能网关Kong会有意外收获
    Asp.NETCore让FromServices回来
    高速输出-我们戏说缓存
    Consul-template+nginx实现自动负载均衡
    Consul初探-集成ocelot
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7151381.html
Copyright © 2011-2022 走看看