總結 - Yii2.0 對數據庫 查詢的一些簡單的操作

畢業以後做java開發,後來因爲公司需要轉php,就一直在用Yii框架,有時候只是會用,但是從來不去研究深層的框架源碼,因爲我知道,我研究也是不明白,源碼太深了,像我這種小白,看不懂。但是現在,我試着慢慢的去看框架的源碼,有時,你可能第一次看不明白,等你第二次再碰到同一個問題的時候,它需要你再看第二遍,那麼這時,你會發現比上次明白的多一點。 今天,我把平時用到的Yii2.0 對數據庫 查詢的一些簡單的操作簡單的總結了一下,其中包括,看到別人優秀的博客,我收藏的,再加上我自己碰見的,都收藏起來了,在這裏總結一下,希望能幫到那些像我一樣,剛入職場不久,技術也不是很好的人。 

注: 【如果有問題的地方,歡迎大家及時提出】

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);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章