zoukankan      html  css  js  c++  java
  • Yii2.0 对的一些简单的操作

    1: 此方法返回 ['name' => 'daxia'] 的所有数据;

    User::find()->where(['name' => 'daxia'])->all();
    

    2: 此方法返回 ['name' => 'daxia']的一条数据

    User::find()->where(['name' => 'daxia'])->one();
    

    3: 在条件name的基础上,额外添加另一个条件sex

    User::find()->where(['name' => 'daxia'])->andWhere(['sex' => '女'])->one();
    
    或者:
    
    User::find()->where(['name' => 'daxia', 'sex' => '女'])->one();
    
    说明: 这两种方法都是可以的
    

    4: andFilterWhere/andWhere应用: 在[1427925600-1427968800]之间查询

    User::find()->andFilterWhere(['between', 'regtime', '1427925600', '1427968800’])
    

    说到andFilterWhere,下面我把用到的各种的情况示例列出:

    1) : sql:   id=1 AND id=2
         条件:  ['and', 'id=1', 'id=2'] 
    
    2) : sql:   id=1 OR id=2
         条件:  ['or', 'id=1', 'id=2'] 
    
    3) : sql:   id BETWEEN 1 AND 10
         条件:   ['between', 'id', 1, 10] 
    
    4) : sql:   id IN (1, 2, 3)
         条件:  ['in', 'id', [1, 2, 3]] 
    
    5) : sql:   name LIKE '%tester%'     模糊查询
         条件:  ['like', 'name', 'tester']
    
    6) : sql:   age>10
         条件:  ['>', 'age', 10]
    
    

    5: orderBy() 应用

    sql: ORDER BY `id` ASC, `name` DESC
    
    Yii对应的model书写如下:
        $query->orderBy([
           'id' => SORT_ASC,  升序  默认
           'name' => SORT_DESC,  降序
        ]); 
    

    6: groupBy() 应用:

    sql:  ... GROUP BY `id`, `status`
    
    Yii对应的model书写如下:
    
    $query->groupBy(['id', 'status']);
    

    7: having()应用:

    sql:  ... HAVING `status` = 1
    
    Yii对应的model书写如下:
    
    $query->having(['status' => 1]);
    

    8: limit() offset() 应用:

    sql:  ... LIMIT 10 OFFSET 20
    
    Yii对应的model书写如下
    
    $query->limit(10)->offset(20);
    

    9: 用自己书写的sql语句,去查询符合的数据

    User::findBySql('SELECT * FROM user')->one();  此方法是用 sql  语句查询 user 表里面的一条数据;
    
    User::findBySql('SELECT * FROM user')->all();  此方法是用 sql  语句查询 user 表里面的所有数据;
    

    说明: 测试 - 你也许想要测试或者使用一个由 yiidbQuery 对象创建的 SQL 语句。 你可以使用以下的代码来达到目的:

    $query->createCommand()->getRawSql();
    

    下面就是官网上面展示的,一些比较常见的查询方法:

    yiidbQuery 提供了一整套的用于不同查询目的的方法。
      ● yiidbQuery::all(): 将返回一个由行组成的数组,每一行是一个由名称和值构成的关联数组(译者注:省略键的数组称为索引数组)。
      ● yiidbQuery::one(): 返回结果集的第一行。
      ● yiidbQuery::column(): 返回结果集的第一列。
      ● yiidbQuery::scalar(): 返回结果集的第一行第一列的标量值。
      ● yiidbQuery::exists(): 返回一个表示该查询是否包结果集的值。
      ● yiidbQuery::count(): 返回 COUNT 查询的结果。
      ● 其它集合查询方法: 包括 yiidbQuery::sum(), yiidbQuery::average(), yiidbQuery::max(), yiidbQuery::min() 等. $q 是一个必选参数, 既可以是一个字段名称,又可以是一个 DB 表达式。
  • 相关阅读:
    Linux iptables 配置规则
    Java之品优购课程讲义_day06(7)
    TCP的三次握手与四次挥手
    区块链挖矿演变史,一键挖矿逐渐成主流
    Java KeyStore 用命令生成keystore文件
    SpringBoot | 第六章:常用注解介绍及简单使用
    PHP开发模式之-单例模式
    Ansible笔记
    CentOS7中搭建cobbler自动装机服务
    号称“新至强,可拓展,赢当下”的Xeon可拓展处理器有多逆天?
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/6186087.html
Copyright © 2011-2022 走看看