数据库交互ActiveRecord

Active Record (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。

声明 AR 类

要想声明一个 AR 类,你需要扩展 yii\db\ActiveRecord 基类, 并实现 tableName 方法,返回与之相关联的的数据表的名称:

在models下创建 BasicUser.php

<?php
     namespace    app\models;
    
     use          yii\db\ActiveRecord;
    
    class BasicUser extends ActiveRecord {
    
        public static  function tableName(){
            
            return "{{%test}}"; //自动补齐表前缀
    }

}

然后在控制器中使用AR类即可

<?php
namespace  	app\controllers;
use 		app\models\BasicUser;
use        	yii\web\Controller;
use        	app\models\UserForm;
use 		yii\web\Response;

	class UserController extends Controller{
  
	public function actionIndex(){
      		
   /*
            //通过new方法得到的AR对象,save()方法执行插入操作
        $model=new BasicUser();
        $model->nickname='aaa';
        $model->save();
      */
        //简单查询
     //$model=BasicUser::find()->where(['id'=>5])->asArray()->all();
        //in查询
    /*
      $model=BasicUser::findAll([1,2])   ;
      foreach($model as $k=>$v){
        echo $v->username.'|'.$v->password;
    }
    */
        //通过查询获得的AR对象,save()方法执行更新操作
   /*
    $model=BasicUser::findOne(2);
    $model->username='jay';
    $model->save();
   */
//删除id为22的记录
   /*
    $model=BasicUser::findOne(22);
    $model->delete();
   */
//更新所有
    //BasicUser::updateAll(['password'=>'11111']);
//开始事务
    $trans=\yii::$app->db->beginTransaction();
    try{
        $model=new BasicUser();
        $model->username='ddddw32';
        $model->password='123';
        $model->nickname='取个名字好难';
        $model->rest=100000;
        $model->save();

        BasicUser::updateAll(['rest'=>100]);
        $trans->commit();
    }
    catch(Exception $e){
        $trans->rollBack();
    }
//echo json_encode($model,JSON_UNESCAPED_UNICODE );
// return $this->render('index');
}}
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值