yii2.0总结笔记2:数据库操作

欢迎加入laravel技术交流群 :784030154
<?php  User::find()->one();//返回单行数据

User::find()->all();//返回多行数据

User::find()->count();//统计行数

User::find()->average();//统计平均数

User::find()->max();

User::find()->scalar();

User::find()->column();

User::find()->exists();

User::find()->batch(10);

User::find()->each();

User::find()->findByPk(1);

User::find()->findAllBySql('select * from user');

$data = (new Query)

        ->select('*')//查询什么字段

        ->from('user')//查询什么表

        ->join('LEFT JOIN','orders','user.id = order.user_id')//外连接

        ->where(['status'=>1,'user_id'=>1])//条件

        ->offset(5)//跳过几条

        ->limit(10)//查询几条

        ->all()

直接查询

$sql = 'select user_id,name,account from user where user_id>10';

$rows = Yii::$app->db->createCommand($sql)->query();//

$rows = Yii::$app->db->createCommand($sql)->queryAll();

$row  = Yii::$app->db->createCommand($sql)->queryOne();



User::find()->scalar();

User::find()->column();

User::find()->exists();

User::find()->batch(10);

User::find()->each();

User::find()->findByPk(1);

User::find()->findAllBySql('select * from user');

$data = (new Query)

        ->select('*')//查询什么字段

        ->from('user')//查询什么表

        ->join('LEFT JOIN','orders','user.id = order.user_id')//外连接

        ->where(['status'=>1,'user_id'=>1])//条件

        ->offset(5)//跳过几条

        ->limit(10)//查询几条

        ->all()

直接查询

$sql = 'select user_id,name,account from user where user_id>10';

$rows = Yii::$app->db->createCommand($sql)->query();//

$rows = Yii::$app->db->createCommand($sql)->queryAll();

$row  = Yii::$app->db->createCommand($sql)->queryOne();

关联查询

/**

*客户表,订单表,国家表

*user     order  country

*/    

 
class UserModel extends yii\db\ActiveRecord{

    //客户与订单的关系是:一对多

    public function getOrder(){
        return  $this->hasMany(OrderModel::className(),['user_id'=>'id']);
     }

    

      //客户与国家的关系:一对一

    public function getCountry(){    

        return $this->hasOne(CountryModel::className(),['id'=>'country_id])

    }

}
//查询客户他们订单与国家的所有信息 
UserModel::find()->with('order','country')->all()

  //查询客户与他们的订单和订单地址(注order与address都是关联关系)

  UserModel::find()->with('order.address')->all();UserModel::find()->with('order.address')->all();

增加

$user = new User;

$user->username = $username;

$user->password  = $password;

$user->save();

批量增加

Yii::$app->db->createCommand->batchInsert('user',[

    ['test1',30],

    ['test2',20],

    ['test3',15]

])->execute();

修改

$user = User::find()->where(['name'=>'test'])->one();

$user->age = 40;

$user->save();

直接修改:修改test用户的age为40

$result = User::model->updateAll(['age'=>40],['name'=>'test']);

使用createCommand修改

Yii::$app->db->createCommand()->update('user',['age'=>40],'name=test')->execute();

删除 

使用model::delete()删除

$user = User::find()->where()->one();

$user ->delete();

直接删除:年龄为30的所有用户

$result = User::deleteAll(['age'=>'30']);

根据主键删除:

$result = USer::deleteByPk(1);

Yii::$app->db->createCommand()->delete('user','age'=>30)->execute();

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值