Yii 2.0 query模式语法

Posted 第一夫人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii 2.0 query模式语法相关的知识,希望对你有一定的参考价值。

项目使用Yii 2.0版本开发,个人一直喜好使用(new yiidbQuery())模式操作数据,把增、删、查、改这4种情况的写法整理出来,方便查阅和记忆。

增加 - insert

1 use Yii;
2 $result = Yii::$app->db->createCommand()->insert(‘表名‘, array(‘字段名‘ => ‘字段值‘))->execute();
3 $insertId = Yii::$app->db->getLastInsertID();

$result为执行结果,执行成功返回1,执行失败返回0,$insertId为当前新增数据的自增ID。

删除 - delete

1 use Yii;
2 $result = Yii::$app->db->createCommand()->delete(‘表名‘, ‘条件‘)->execute();

$result为执行结果,执行成功返回1,执行失败返回0。

查询 - select

1 use Yii;
2 $result = (new yiidbQuery())->select(‘字段-1个‘)->from(‘表名‘)->where(‘条件‘)->scalar();
3 $result = (new yiidbQuery())->select(‘字段-1个或者多个‘)->from(‘表名‘)->where(‘条件‘)->one();
4 $result = (new yiidbQuery())->select(‘字段-1个或者多个‘)->from(‘表名‘)->where(‘条件‘)->all();

$result为执行结果,scalar()表示查询一条数据的一个字段,返回指定字段的值,one()表示查询一条数据的一个或者多个字段,返回一维数组,all()表示查询满足条件的多条数据的一个或者多个字段,返回二维数组。

未查询到数据时all()返回空数组Array ( ),one()和scalar()返回false。

还有->orderBy(‘排序字段asc、desc‘),->leftJoin(‘表名 as 别名‘, ‘和主表的关联关系‘),->groupBy(‘字段名‘),->offset(($page - 1) * $pageSize),->limit($pageSize) 等。

修改 - update

1 use Yii;
2 $result = Yii::$app->db->createCommand()->update(‘表名‘,array(‘字段名‘ => ‘字段值‘), ‘条件‘)->execute();

$result为执行结果,执行成功返回1,执行失败返回0。

以上是关于Yii 2.0 query模式语法的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 使用 Joins 查询

Yii2中indexBy()的使用

[Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]

Yii Framework 2.0 基于角色的访问控制 RBAC

Yii 2.0实现联表查询加搜索分页的方法示例

多数据库连接和 Yii 2.0