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


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭