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

yii2中使用Active Record模式的方法 本文实例讲述了yii2中使用Active Record模式的方法。分享给大家供大家参考,具体如下: 1. 在db.php中配置相应的数据库信息: return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2basic', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ]; 2. 使用gii模块来自动生成相应的代码(访问链接http://localhost/basic/web/index.ph 立即下载

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() ---- 条件查询

23.网工入门篇--------介绍一下园区网典型组网架构及案例实践 园区网典型组网架构主要分为小型、中型、大型三种类型,以下是详细介绍及相关案例实践: 阅读详情

相关推荐

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

yii2之ActiveRecord 模型

Active Record 模型是一种设计模式,用面向对象的方式抽象地访问数据的模式。在 Yii2 中,每一个 Active Record 模型对象的实例是 yii\db\ActiveRecord 类或它的子类,它封装了数据库表或视图中的一行记录,并封装了所有逻辑和访问数据库的细节,如果有大部分的业务逻辑,很适合使用这种模式。 1. ActiveRecord 模型概述 ...

weixin_30239339的博客 348

保姆级教程:用高云GW2A开发板搭建RISC-V软核处理器(含DDR3内存优化配置)

本文提供了一份详细的保姆级教程,指导开发者使用高云GW2A-LV18PG256C8 FPGA开发板搭建RISC-V软核处理器系统。教程涵盖了从开发环境搭建、PicoRV32软核集成,到关键的DDR3内存控制器配置与优化,并深入讲解了时序约束与系统调试方法,帮助初学者和爱好者实现从逻辑设计到软硬件协同的深度实践。

2a4s6d8f0g的博客 569

如何用Yii2编程:ActiveRecord

您将要创造的 如果您问“ Yii是什么?” 查阅我之前的教程: Yii Framework简介 ,它回顾了Yii的好处,并概述了2014年10月发布的Yii 2.0的变化。 在本使用Yii2编程系列中 ,我指导读者使用PHP的Yii2框架。 在今天的教程中,我将指导您使用Yii的对象关系映射 (称为ORM)来处理数据库。 它称为Active Record ,是在Yii中有效编程数据库应用...

代码教主 709

第38节:cesium 风场效果(含源码+视频)

cesium 风场效果

qq_29384639的博客 2330

华东理工大学计算机预推免面试

华东理工大学预推免面试经验分享

D1379951481的博客 1402

Yii2中的Active Record模式是什么?如何使用它进行数据库操作?

首先,你需要为每一个数据库表定义一个Active Record类。这个类通常继承自Yii2的类,并且类名通常和数据库表名一样(只是首字母大写,并且加上“类”字)。所以,Yii2中的Active Record模式就是一种把数据库表变成可以编程操作的对象的方法。通过Active Record类,你可以很方便地查询、插入、更新和删除数据库表里的数据。

长风破浪会有时的博客 797

SWC_RTE01-AutoSAR架构【AutoSAR架构设计概述】

1 基于AutoSAR架构的概述 1.1架构层面:功能可以细分子功能,各个子功能需要交互。 -大功能可以通过Autosar组件Composition去表示; -各个子功能一般具有不可分割性,可以通过Autosar原子组件Component去表示; -各个子功能的交互可以通过接口去通信和交互; -各个子功能的行为可以通过内部行为去表示;具体表现为Runnable的设计;架构设计的时候不考虑具体的逻辑实现;只会关注Ruannble的触发事件或周期;数据访问的一致性问题;具体逻辑设计可通过模版c文件实现或通过基于

8452

‬yii2 如何使用数据库(二) 之使用ActiveRecord

他们是什么 ActiveRecord 介绍和用法 Active Record 声明ActiveRecord类 用AR类查询数据 yiidbActiveRecordfind yiidbActiveRecordfindBySql 得到AR类之后访问列数据 操作数据CRUD 用ActiveRecord查询关联数据 写入关联关系 从AR对象中获得我们需要的值 上一节我们讲到了CreatCommand数据库

徐小鹏的博客 2908

2025华为od机试真题B卷【版本管理】Python实现

在 软件版本管理中,版本号由点分割的数字组成,例如 1.2.3 和 2.8。现在,你需要编写一个函数,计算两个版本号之间的可用版本号个数。这里的可用版本号指的是所有满足 version1<x<version2的版本号x的个数。若 version1 >=version2 返回0.,

MISAYAONE的博客 644

【ELK】最新版ELK日志搜集,过滤与展示,手把手教你搭建企业级ELK日志平台

ELFK是一套完整的日志集中处理方案。 E:ElasticSearck ES 分布式索引型非关系数据库 存储logstash输出的日志 全文检索引擎,保存的格式是json格式 L:logstash 基于java语言开发的,数据收集引擎。日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出 K:Kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和检索。 F: FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一。

景天科技苑 7万+

如何利用Yii2的ActiveRecord和Query Builder进行数据库操作?使用场景是什么?底层原理是什么?

适用于简单的 CRUD 操作和关联查询,提供了一种面向对象的方式来处理数据库操作。适用于复杂的查询和动态查询,提供了更多的灵活性和控制能力。通过合理使用和,你可以更高效地进行数据库操作,确保应用的稳定性和可维护性。

长风破浪会有时的博客 533

骚戴笔记公告

骚戴笔记公告

我从不打没有准备的仗! 2万+

yii\db\ActiveRecord到底是干什么的?一共包含哪些部分?

它将数据库表映射为类,表中的每条记录映射为对象,让我们可以通过面向对象的方式操作数据库。是 Yii2 框架中的一个核心类,用于实现。帮助我们以面向对象的方式高效地操作数据库!就像一个智能助手一样,

长风破浪会有时的博客 1049

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

yii2如何处理各种各样复杂的数据库事务操作?使用场景是什么?底层原理是什么?

处理复杂数据库事务操作可以使用 Active Record、DB Component 和事务管理器来处理复杂的数据库事务操作。Active Record 提供了简单的方法来处理事务,DB Component 提供了更细粒度的控制,事务管理器提供了统一的事务管理机制。使用场景多表操作、批量操作、复杂业务逻辑等。底层原理使用类管理事务,通过commit(), 和rollBack()方法实现事务的开始、提交和回滚。使用try-catch语句捕获异常,确保数据的一致性。类管理数据库连接,

长风破浪会有时的博客 1347

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Yii 2.0 ActiveRecord解释了

The ActiveRecord class in Yii provides an object oriented interface (aka ORM) for accessing database stored data. Similar structures can be found in most modern frameworks like Laravel, CodeIgniter, S...

culi4814的博客 455

Yii2.0基础类如何处理数据库查询?底层原理是什么?

底层原理是,当进行数据库查询时,Active Record会生成相应的SQL语句,并使用Yii的数据库连接组件执行查询。Active Record是一种ORM(对象关系映射)模式,它将数据库表映射到相应的PHP类,允许开发者通过面向对象的方式来进行数据库查询和操作。查询结果以Active Record对象或数组形式返回,开发者可以通过这些对象或数组来访问查询结果的数据。通过Active Record模式,开发者可以更加方便地进行数据库查询和操作,同时也提供了一定的安全性,防止了常见的SQL注入攻击。

长风破浪会有时的博客 377

yii2 db基类参考

namespace app\models; use yii\db\ActiveRecord; use yii\db\Query; class BaseModel extends ActiveRecord { protected $tableName; public function insertData($data) { $this-&gt;g...

keai_sary的博客 1070

Yii API接口工作开发

概述:Yii是提供一种restful风格的接口开发,可以使用这个,也可以不进行使用,我想的是不进行使用。 如果是yii2 RESTful api提供的,直接进行配置就好,但是我不太想使用,原因有二,一是他是应该没办法自己定义请求接口url,二是他没办法对字段什么进行处理,好像直接就返回整个model了。 如果自己定义的话,有以下几个步骤 yii2迁移数据库 配置控制器 配置Url规则 其他进阶操作 整体看起来还是比较简单的。 参考: yii2 RESTful api的详细使用_基础 ...

vv___的博客 1172

yii2的DAO/ActiveRecord是干什么的?

Yii2 是一个 PHP 框架,它提供了很多工具和组件来帮助开发者更快地构建 Web 应用程序。在 Yii2 中,DAO(数据访问对象)和 ActiveRecord 是两种处理数据库操作的方法。

长风破浪会有时的博客 162

yii2.0是如何数据库操作的细节?底层原理是什么?

底层原理是,Yii2.0 中的数据库操作是基于 PDO 的封装和扩展。在操作数据库时,Yii2.0 会使用 PDO 对象与数据库进行交互,通过参数绑定和预处理语句来防止 SQL 注入攻击。在执行查询时,Yii2.0 会使用 PDO 的 prepare 和 execute 方法来执行 SQL 语句,并使用 fetch 方法来获取查询结果。在 Yii2.0 中,可以使用数据库迁移来管理数据库的结构。数据库迁移是指对数据库的修改,通过使用迁移脚本,可以实现数据库的版本控制,以及协同开发时对数据库结构的同步。

长风破浪会有时的博客 380

YII2.0探究二:AR类和Query类的原理以及使用(一)

AR类即活动记录(Active Record)它的作用是 提供了一个面向对象的方式去操作数据库,从而对数据库进行CURD的时候可以 “复用”,这也就是体现了面向对象的好处。 - 它的特点有: 1. 每一个AR类关联一张数据表。 2. 每个AR对象对应数据表中的一行,对象属性的Attribute映射到数据表中的对应列。 3. 一条活动记录对应数据表中的一行。

LLopensorce的博客 1703

yii2 创建数据库用gii生成文件

1. 用数据库工具直接创建一张表 表名:message 2. 进入gii代码生成器 3. 点击Model Generator(模型生成,为数据库表生成ActiveRecord类。) 1)table name:message 2)Model  Class Name:Message 点击preview生成预览文件,在点击Generator生成文件 4.点击CRUD Generator(生成

OStriueO的专栏 1450

Yii 2.0 操作数据的各种办法

为什么80%的码农都做不了架构师?>>> ...

weixin_34185320的博客 113

yii框架数据库model

//能操作数据库的model namespace app\models; use yii\db\ActiveRecord; class Country extends ActiveRecord { } use app\models\Country; // 获取 country 表的所有行并以 name 排序 $countries = Country::find()->orderBy('name')->all(); // 获取主键为 “US” 的行 $country = Country::f

yang_ldgd的博客 252

Yii2支持哪些ORM?底层原理是什么?

在底层原理方面,Active Record使用PHP的魔术方法和反射机制来实现将数据库表映射到PHP类的功能,并使用PDO扩展来连接和操作数据库。总的来说,ORM工具的底层原理是通过将数据库表映射到PHP类或对象来实现对象与数据库表之间的映射,以便于开发人员进行面向对象的数据操作。在Yii2中,Doctrine是一种可选的ORM工具,可以通过Yii2的扩展机制进行集成。在底层原理方面,Doctrine使用PHP的反射机制和注解机制来实现将数据库表映射到PHP类的功能,并使用PDO扩展来连接和操作数据库。

长风破浪会有时的博客 411
上一篇: 基于vue-cli搭建的脚手架中的一些相关配置(转载)
下一篇: yii2实现后端分页和模糊查询
wangle_style
博客等级 码龄9年 79粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值