/ yii2

yii2-db

第一种方法,手写 SQL:

$command = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id');
$command->bindValue(':id', $_GET['id']);
$post = $command->query();

$command = Yii::$app->db->createCommand('UPDATE post SET status=1');
$command->execute();

第二种方法,创建 Query 实例:

$rows = (new \yii\db\Query())
    ->select(['id', 'email'])
    ->from('user')
    ->where(['last_name' => 'Smith'])
    ->limit(10)
    ->indexBy('id')// 默认数组键值为 0 开始的整数,这里将 id 的值作为数组键值
    ->all(Yii::$app->dbBlog);// 默认值为 db ,这里使用 dbBlog 可以不传此参数。

第三种方法,使用 ActiveRecord:

// 取回活跃客户的数量:
// SELECT COUNT(*) FROM `customer` WHERE `status` = 1
$count = Customer::find()
    ->where(['status' => Customer::STATUS_ACTIVE])
    ->count();

// 以客户 ID 索引结果集:
// SELECT * FROM `customer`
$customers = Customer::find()
    ->indexBy('id')
    ->all();

提示:由于 yii\db\ActiveQuery 继承 yii\db\Query, 你可以使用 Query Builder 章节里所描述的所有查询方法。