yii2使用ActiveRecord类对数据库的操作

ActiveRecord提供了一套面向对象的对数据库进行增删改查的方法,很实用,省去了select*的一系列操作

注意:一个ActiveRecord类对应一个数据表

首先来创建一个model,然后model内如下配置

<?php

namespace frontend\models;

use yii\db\ActiveRecord;

class Userinfo extends ActiveRecord
{
    //这里来配置连接的表名
	public static function tableName()
    {
        return 'userinfo';
    }
}

下面就可以开始对username表进行操作了

1.find()方法的使用

//获取表中所有数据信息并数组化
	public static function getallusermsg()
	{
        $model = self::find() -> asArray()  -> all();
		return $model;
	}
//按条件查询
    public static function getusermsg($username)
	{
        $model = self::find() -> asArray() -> where(['username' => $username]) -> one();
		return model;
	}
//数据库添加
    public static function setusermsg($userinfo)
    {
    	$userinfotable = new userinfo;
    	$userinfotable->username = $userinfo['username'];
    	$userinfotable->password = $userinfo['password'];
    	$userinfotable->role = $userinfo['role'];
    	if ($userinfotable->save()) {
    		return ['code' => 200,'message' => '注册成功!'];
    	} else {
    		return ['code' => 201,'message' => '注册失败!'];
    	}
    }
//数据库更新
    public static function setusermsg($username)
    {
    	$model = self::find() -> asArray() -> where(['username' => $username]) -> one();
        $model->username = 'suibian';
    	if ($model->save()) {
    		return ['code' => 200,'message' => '注册成功!'];
    	} else {
    		return ['code' => 201,'message' => '注册失败!'];
    	}
    }
//数据库删除
    public static function setusermsg($username,$password)
    {
    	$model = self::find() -> where(['username' => $username,'password' => $password]) -> one();
    	if ($model->delete()) {
    		return ['code' => 200,'message' => '注册成功!'];
    	} else {
    		return ['code' => 201,'message' => '注册失败!'];
    	}
    }

注:self为改类,asArray()是将所查数据数组化

2.ActiveRecord类常用的方法

all()/one() -----返回一条还是所有

orderBy()/andOrderBy() ----- 对数据进行排序

count() -----返回查询条件下的数据条数

with() -----指定关联表的字段

where()/andWhere()/orWhere() ---- 条件查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值