合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
['between', 'id', 1, 10] 将会生成 id BETWEEN 1 AND 10~~~ 查询多条 $posts = Yii::$app->db->createCommand('SELECT * FROM post') ->queryAll(); 查询一条 $post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=1')->queryOne(); 返回一列 $titles = Yii::$app->db->createCommand('SELECT title FROM post') ->queryColumn(); 返回标量 $count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM post') ->queryScalar(); 绑定参数 $post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status=:status') ->bindValue(':id', $_GET['id']) ->bindValue(':status', 1) ->queryOne(); 非查询 Yii::$app->db->createCommand('UPDATE post SET status=1 WHERE id=1') ->execute(); Yii::$app->db->createCommand()->insert('user', [ 'name' => 'Sam', 'age' => 30, ])->execute(); Yii::$app->db->createCommand()->update('user', ['status' => 1], 'age > 30')->execute(); Yii::$app->db->createCommand()->delete('user', 'status = 0')->execute(); ~~~ 生成器 ~~~ $query->select(['id', 'email']); $subQuery = (new Query())->select('COUNT(*)')->from('user'); $query->select('user_id')->distinct();//去重复 $query->from(['u' => 'public.user', 'p' => 'public.post']);多表 $query->where('status=:status', [':status' => $status]); $query->where('status=1'); $query->where([ 'status' => 10, 'type' => null, 'id' => [4, 8, 15], ]); ['and', 'id=1', 'id=2'] ['or', 'id=1', 'id=2'] ['between', 'id', 1, 10] 将会生成 id BETWEEN 1 AND 10 ['in', 'id', [1, 2, 3]] 将生成 id IN (1, 2, 3) ['like', 'name', 'tester'] 会生成 name LIKE '%tester%' ['>', 'age', 10] 将会生成 age>10 $query->orderBy('id ASC, name DESC'); $query->groupBy('id, status'); $query->limit(10)->offset(20); // ... LEFT JOIN `post` ON `post`.`user_id` = `user`.`id` $query->join('LEFT JOIN', 'post', 'post.user_id = user.id'); all():将返回一个由行组成的数组,每一行是一个由名称和值构成的关联数组(译者注:省略键的数组称为索引数组)。 one():返回结果集的第一行。 column():返回结果集的第一列。 scalar():返回结果集的第一行第一列的标量值。 exists():返回一个表示该查询是否包结果集的值。 count():返回 COUNT 查询的结果 ~~~