注: 【如果有问题的地方,欢迎大家及时提出】
1: 此方法返回 ['name' => 'daxia'] 的所有数据; User::find()->where(['name' => 'daxia'])->all();
2: 此方法返回 ['name' => 'daxia']的一条数据 User::find()->where(['name' => 'daxia'])->one();
3: 在条件name的基础上,额外添加另一个条件sex ser::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` DESCYii对应的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` = 1Yii对应的model书写如下:$query->having(['status' => 1]);
8: limit() offset() 应用:
sql: ... LIMIT 10 OFFSET 20Yii对应的model书写如下$query->limit(10)->offset(20);