Yii 2.0 数据库查询 [ 2.0 版本 ]
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
User::find()->all(); 此方法返回所有数据;
User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子);
User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据;
User::find()->where(['name' => '小伙儿'])->all(); 此方法返回 ['name' => '小伙儿'] 的所有数据;
User::find()->orderBy('id DESC')->all(); 此方法是排序查询;
User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;
User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;
User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); 统计符合条件的总条数;
User::find()->andFilterWhere(['like', 'name', '小伙儿']); 此方法是用 like 查询 name 等于 小伙儿的 数据
User::find()->one(); 此方法返回一条数据;
User::find()->all(); 此方法返回所有数据;
User::find()->count(); 此方法返回记录的数量;
User::find()->average(); 此方法返回指定列的平均值;
User::find()->min(); 此方法返回指定列的最小值 ;
User::find()->max(); 此方法返回指定列的最大值 ;
User::find()->scalar(); 此方法返回值的第一行第一列的查询结果;
User::find()->column(); 此方法返回查询结果中的第一列的值;
User::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;
User::find()->batch(10); 每次取 10 条数据
User::find()->each(10); 每次取 10 条数据, 迭代查询
Yii 为我们提供了非常丰富的查询,在这里小伙儿不一一列举了,下面是 api 链接,预知更多,请点击观看(点击 db 菜单即可)
Yii 查询数据库
小伙儿 陕西省
注册时间:2014-08-18
最后登录:2020-06-03
在线时长:295小时3分
最后登录:2020-06-03
在线时长:295小时3分
- 粉丝272
- 金钱2077
- 威望175
- 积分6777
共 33 条评论
可是 where 里 大于小于怎么表示?
->where(['le'=>'>0'])
无效可是 where 里 大于小于怎么表示?
->where(['le'=>'>0'])
无效请问楼主,我直接用$model->save();方法为什么执行的是插入,而不是更新呢?save之前为什么不能放where,表示跟thinkphp有很大的不一样,有点不明白。
既然是save是插入一条数据,那么你的where条件肯定就会报错,原因插入是没有条件可设的,只要字段匹配就可以了,如果你是针对某一条数据进行修改,你where(['id' => 1])->updata(); 这样是正确的使用方法。
卧槽,很全面啊
确实很全面
嘿嘿 呆着没事 就总结呗
请问查询某字段的总和怎么写?
在where里写字段就可以了呀
where如何指定表名呢。
eg: User::find()->where(['status'=>$变量])->andWhere(['like','name',$变量])->asArray()->all();
您好,为什么我这样查询数据时,总是只显示前面的where部分查询的结果,后面的模糊匹配部分发挥不了作用?
在哪儿看视频呀?找不到啊
请问,where怎样查询 或 的关系
例子:Post文章表
Post::find()->where(['or', 'id'=>1, 'name'=>'luobt'])->all();
可以使用orwhere
findAll() 跟 find()->All() 一样吗?
啦啦啦啦啦
呵呵呵呵呵
User::find()->where(['name' => '小伙儿'])->sum('id');
这是求和的