项目使用 Yii 2.0 版本开发, 个人一直喜好使用 (new \yii\db\Query()) 模式操作数据, 把增, 删, 查, 改这 4 种情况的写法整理出来, 方便查阅和记忆.
增加 - insert
- use Yii;
- $result = Yii::$App->db->createCommand()->insert('表名', array('字段名' => '字段值'))->execute();
- $insertId = Yii::$App->db->getLastInsertID();
$result 为执行结果, 执行成功返回 1, 执行失败返回 0,$insertId 为当前新增数据的自增 ID.
删除 - delete
- use Yii;
- $result = Yii::$App->db->createCommand()->delete('表名', '条件')->execute();
$result 为执行结果, 执行成功返回 1, 执行失败返回 0.
查询 - select
- use Yii;
- $result = (new \yii\db\Query())->select('字段 - 1 个')->from('表名')->where('条件')->scalar();
- $result = (new \yii\db\Query())->select('字段 - 1 个或者多个')->from('表名')->where('条件')->one();
- $result = (new \yii\db\Query())->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
- use Yii;
- $result = Yii::$App->db->createCommand()->update('表名',array('字段名' => '字段值'), '条件')->execute();
$result 为执行结果, 执行成功返回 1, 执行失败返回 0.
来源: http://www.bubuko.com/infodetail-2863137.html