First, the new
1, using the save ()
$model = new User(); $model->name = 'test'; $model->phone = '13000000000'; $model->email = '[email protected]'; $model->save();
2, the use of native sql createCommand
$sql = "insert into user (name, phone, email) values ('test', '13000000000', '[email protected]')"; Yii::$app->db->createCommand($sql)->execute();
3, using createCommand insert
Yii::$app->db->createCommand()->insert('user', [ 'name' => 'test', 'phone' => '13000000000', 'email' => '[email protected]' ])->execute();
4, bulk insert
Yii::$app->db->createCommand()->batchInsert('user', ['name', 'phone', 'email'], [ ['test1', '13000000000', '[email protected]'], ['test2', '13000000001', '[email protected]'] ])->execute();
Second, delete
1, using the delete ()
$user = User::find()->where(['name' => 'test'])->one(); $user->delete();
2, deleteAll () bulk delete
User::deleteAll(['name' => 'test']);
3, using createCommand delete ()
Yii::$app->db->createCommand()->delete('user', ['name' => 'test'])->execute();
4, using native sql createCommand
$sql = "delete from user where name = 'test'"; Yii::$app->db->createCommand($sql)->execute();
Third, update
1, using the update ()
$user = User::find()->where(['name' => 'test'])->one(); $user->phone = '13100000000'; $user->update(); // 或者 $user->save();
2, using updateAll ()
User::updateAll(['phone' => '13100000000'], ['name' => 'test']);
3, using createCommand update ()
Yii::$app->db->createCommand()->update('user', ['phone' => '13100000000'], ['name' => 'test'])->execute();
4, using native sql createCommand
$sql = "update user set phone = '13100000000' where name = 'test'"; Yii::$app->db->createCommand($sql)->execute();
Fourth, the query
1, using the model
// query a record User :: find () -> select ([ 'name', 'phone', 'email']) -> where ([ 'phone' => '13000000000']) -> andWhere ([ ' like ',' name ',' Test ']) -> One (); // query returns an array of records User :: find () -> where ([' name '=>' test ']) -> asArray ( ) -> One (); // query for all records User :: find () -> WHERE ([ 'name' => 'Test']) -> All (); // Search array of records returned User :: find () -> where ([ ' name' => 'test']) -> asArray () -> all ();
2, 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();
3, using yii \ db \ Query ()
(new \yii\db\Query())->from('user')->where(['name' => 'test'])->all();
4, sub-queries
$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();