1. 程式人生 > >Yii 2.0 query模式語法

Yii 2.0 query模式語法

etl groupby 自增 left bsp 操作數 set 多條 class

項目使用Yii 2.0版本開發,個人一直喜好使用(new \yii\db\Query())模式操作數據,把增、刪、查、改這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 \yii\db\Query())->select(‘字段-1個‘)->from(‘表名‘)->where(‘條件‘)->scalar();
3 $result = (new \yii\db\Query())->select(‘字段-1個或者多個‘)->from(‘表名‘)->where(‘條件‘)->one();
4 $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

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

$result為執行結果,執行成功返回1,執行失敗返回0。

Yii 2.0 query模式語法