Yii2 中常用的增删改查操作总结
发布时间:2020-12-13 17:31:14 所属栏目:PHP教程 来源:网络整理
导读:? 一、新增 1、使用save() $model = new User(); $model -name = ‘test‘ ; $model -phone = ‘13000000000‘ ; $model -email = ‘[email?protected]‘ ; $model -save(); 2、使用createCommand 原生sql $sql = "insert into user (name,phone,email) valu
? 一、新增1、使用save() $model = new User(); $model->name = ‘test‘; $model->phone = ‘13000000000‘; $model->email = ‘[email?protected]‘; $model->save(); 2、使用createCommand 原生sql $sql = "insert into user (name,phone,email) values (‘test‘,‘13000000000‘,‘[email?protected]‘)"; Yii::$app->db->createCommand($sql)->execute(); 3、使用createCommand insert Yii::$app->db->createCommand()->insert(‘user‘, [ ‘name‘ => ‘test‘,‘phone‘ => ‘13000000000‘,‘email‘ => ‘[email?protected]‘ ])->execute(); 4、批量插入 Yii::$app->db->createCommand()->batchInsert(‘user‘,[‘name‘,‘phone‘,‘email‘], [ [‘test1‘,‘[email?protected]‘], [‘test2‘,‘13000000001‘,‘[email?protected]‘] ])->execute(); ? 二、删除1、使用delete() $user = User::find()->where([‘name‘ => ‘test‘])->one(); $user->delete(); 2、使用deleteAll()批量删除 User::deleteAll([‘name‘ => ‘test‘]); 3、使用createCommand delete() Yii::$app->db->createCommand()->delete(‘user‘,[‘name‘ => ‘test‘])->execute();
4、使用createCommand 原生sql $sql = "delete from user where name = ‘test‘"; Yii::$app->db->createCommand($sql)->execute(); ? 三、更新1、使用update() $user = User::find()->where([‘name‘ => ‘test‘])->one(); $user->phone = ‘13100000000‘; $user->update(); // 或者 $user->save(); 2、使用updateAll() User::updateAll([‘phone‘ => ‘13100000000‘],[‘name‘ => ‘test‘]); 3、使用createCommand update() Yii::$app->db->createCommand()->update(‘user‘,[‘phone‘ => ‘13100000000‘],[‘name‘ => ‘test‘])->execute();
4、使用createCommand 原生sql $sql = "update user set phone = ‘13100000000‘ where name = ‘test‘"; Yii::$app->db->createCommand($sql)->execute(); ? 四、查询1、使用model // 查询一条记录 User::find()->select([‘name‘,‘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(); 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、使用yiidbQuery() (new yiidbQuery())->from(‘user‘)->where([‘name‘ => ‘test‘])->all();
4、子查询 $subQuery = (new yiidbQuery())->select([‘id‘])->from(‘user‘)->where([‘like‘,‘test‘])->all(); (new yiidbQuery())->from(‘user‘)->where([‘in‘,‘id‘,$subQuery])->all(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |