注: 【如果有問題的地方,歡迎大家及時提出】
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);