一、使用save()sql
$model = new User(); $model->name = 'test'; $model->phone = '13000000000'; $model->email = '123456@qq.com'; $model->save();
二、使用createCommand 原生sql數組
$sql = "insert into user (name, phone, email) values ('test', '13000000000', '123456@qq.com')"; Yii::$app->db->createCommand($sql)->execute();
三、使用createCommand insertapp
Yii::$app->db->createCommand()->insert('user', [ 'name' => 'test', 'phone' => '13000000000', 'email' => '123456@qq.com' ])->execute();
四、批量插入yii
Yii::$app->db->createCommand()->batchInsert('user', ['name', 'phone', 'email'], [ ['test1', '13000000000', '123456@qq.com'], ['test2', '13000000001', '234567@qq.com'] ])->execute();
一、使用delete()spa
$user = User::find()->where(['name' => 'test'])->one(); $user->delete();
二、使用deleteAll()批量刪除code
User::deleteAll(['name' => 'test']);
三、使用createCommand delete()blog
Yii::$app->db->createCommand()->delete('user', ['name' => 'test'])->execute();
四、使用createCommand 原生sqlclass
$sql = "delete from user where name = 'test'"; Yii::$app->db->createCommand($sql)->execute();
一、使用update()test
$user = User::find()->where(['name' => 'test'])->one(); $user->phone = '13100000000'; $user->update(); // 或者 $user->save();
二、使用updateAll()email
User::updateAll(['phone' => '13100000000'], ['name' => 'test']);
三、使用createCommand update()
Yii::$app->db->createCommand()->update('user', ['phone' => '13100000000'], ['name' => 'test'])->execute();
四、使用createCommand 原生sql
$sql = "update user set phone = '13100000000' where name = 'test'"; Yii::$app->db->createCommand($sql)->execute();
一、使用model
// 查詢一條記錄 User::find()->select(['name', 'phone', 'email'])->where(['phone' => '13000000000'])->andWhere(['like', 'name', 'test'])->one(); // 查詢一條記錄數組返回 User::find()->where(['name' => 'test'])->asArray()->one(); // 查詢全部記錄 User::find()->where(['name' => 'test'])->all(); // 查詢全部記錄數組返回 User::find()->where(['name' => 'test'])->asArray()->all();
二、使用createCommand
// 查詢一條記錄 Yii::$app->db->createCommand("select * from user where name = :name and phone = :phone")->bindValues([':name' => 'test', ':phone' => '13000000000'])->queryOne(); // 查詢全部記錄 Yii::$app->db->createCommand("select * from user where name = :name and phone = :phone")->bindValues([':name' => 'test', ':phone' => '13000000000'])->queryAll();
三、使用yii\db\Query()
(new \yii\db\Query())->from('user')->where(['name' => 'test'])->all();
四、子查詢
$subQuery = (new \yii\db\Query())->select(['id'])->from('user')->where(['like', 'name', 'test'])->all(); (new \yii\db\Query())->from('user')->where(['in', 'id', $subQuery])->all();