查询基本方法:
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::find()->addGroupBy("typeid"); //分组
User::find()->alias("u"); //设置别名,多表联查场景使用
User::find()->select("id"); //查询指定字段,多表联查时使用数组,比如select(["a.*","b.id"])
User::findBySql('SELECT * FROM user')->all(); //用 sql 语句查询 user 表里面的所有数据;
User::findBySql('SELECT * FROM user')->one(); //用 sql 语句查询 user 表里面的一条数据;
User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); //统计符合条件的总条数;
//andFilterWhere:当条件为空时,自动过滤该条件(andWhere不会过滤)
User::find()->andFilterWhere(['like', 'name', '小伙儿']); //用 like 查询 name 等于 小伙儿的 数据
User::find()->one(); //返回一条数据;
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 条数据,迭代查询
User::find()->andWhere("find_in_set('2',sex)") //find_in_set用法
Yii::$app->db->createCommand($sql)->execute(); //直接使用SQL语句
Yii::$app->db->quoteValue('参数'); //转义防注入,实现mysql_real_escape_string功能
多方法联合使用:
查询where加条件:
查询where in使用方法:
使用sql查询:
findBySql也能执行修改、添加等,但不能获得影响行数等信息
联表查询:
新增数据:
修改数据:
批量修改:
删除数据:
打赏