Yii2 commonly used CRUD operations summary

 

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();

 

Guess you like

Origin www.cnblogs.com/woods1815/p/11145063.html