下面就为大家讲解关于“Yii的CURD操作实例详解”完整攻略。
下面就为大家讲解关于“Yii的CURD操作实例详解”完整攻略。
概述
CURD是指在软件开发中,对数据的基本操作,即:增加(Create)、更新(Update)、查询(Retrieve)及删除(Delete)。在Yii中,CURD是经常用到的功能,Yii为开发者提供了很多函数和代码生成器,使开发者能够快速地开发出CURD功能。
Yii的CURD操作方式
在Yii中实现CURD操作有两种方式:一种是使用ActiveRecord来实现CURD,另一种是使用Query Builder来实现CURD。
使用ActiveRecord实现CURD
在Yii中,我们通过继承yii\db\ActiveRecord来实现Active Record模式。Active Record 模式是一种最基本的、最简单的 ORM 模式,它的最大特点就是将数据库中的表映射到了一个类中。
下面我们通过一段示例代码来了解使用ActiveRecord实现CURD的具体步骤:
- 创建一个模型
// 在models目录下创建一个User模型,继承yii\db\ActiveRecord类
class User extends \yii\db\ActiveRecord
{
// 定义表名
public static function tableName()
{
return '{{%user}}';
}
}
上面的代码中,我们创建了一个User模型,并继承了yii\db\ActiveRecord。定义了模型对应的数据表名为{{%user}}。
- 插入数据
$user = new User();
$user->username = 'jack';
$user->email = 'jack@example.com';
$user->save();
将以上代码放到Action中,通过运行,我们可以在数据库的user表中插入一条数据。
- 修改数据
$user = User::findOne(1);
$user->username = 'tom';
$user->email = 'tom@example.com';
$user->save();
将以上代码放到Action中,通过运行,我们可以在数据库的user表中修改id为1的数据。
- 查询数据
$user = User::findOne(1);
echo $user->username;
echo $user->email;
将以上代码放到Action中,通过运行,我们可以查询到id为1的用户的username和email。
- 删除数据
$user = User::findOne(1);
$user->delete();
将以上代码放到Action中,通过运行,可以删除id为1的用户。
使用Query Builder实现CURD
使用Query Builder实现CURD,需要使用yii\db\Query类。Query Builder的最大优势是能够使用链式调用,使得代码更加简洁。
下面我们通过一段示例代码来了解使用Query Builder实现CURD的具体步骤:
- 插入数据
$connection = Yii::$app->db;
$connection->createCommand()->insert('user', [
'username' => 'jack',
'email' => 'jack@example.com',
])->execute();
将以上代码放到Action中,通过运行,我们可以在数据库的user表中插入一条数据。
- 修改数据
$connection = Yii::$app->db;
$connection->createCommand()->update('user', [
'username' => 'tom',
'email' => 'tom@example.com',
], 'id = 1')->execute();
将以上代码放到Action中,通过运行,我们可以在数据库的user表中修改id为1的数据。
- 查询数据
$connection = Yii::$app->db;
$query = new Query();
$user = $query->select('username, email')->from('user')->where(['id' => 1])->one($connection);
echo $user['username'];
echo $user['email'];
将以上代码放到Action中,通过运行,我们可以查询到id为1的用户的username和email。
- 删除数据
$connection = Yii::$app->db;
$connection->createCommand()->delete('user', 'id = 1')->execute();
将以上代码放到Action中,通过运行,可以删除id为1的用户。
以上就是使用ActiveRecord和Query Builder实现CURD的全部步骤。
总结
在这篇文章中,我们介绍了Yii中实现CURD操作的两种方式:使用ActiveRecord和使用Query Builder。两种方式各有优劣,具体使用还需根据具体的业务需求进行选择。同时,我们也通过示例代码,详细讲解了如何使用ActiveRecord和Query Builder来完成CURD操作。
本文标题为:yii的CURD操作实例详解
基础教程推荐
- MongoDB查询与游标之分布式文件存储 2023-07-16
- 8 种常用的 NoSQL 数据库系统对比分析 2023-12-30
- 一文详解如何使用Python批量拼接图片 2023-07-28
- MySQL中使用MD5加密的实现 2022-09-12
- 原来MySQL 数据类型也可以优化 2022-10-23
- 详解MySQL中的存储过程和函数 2022-08-31
- mysql 数据库设计 2023-12-29
- 详解SQLite中的数据类型 2023-12-31
- sql语句LEFT JOIN拼接表详解 2023-07-29
- 记录自己的redis之路-01-redis安装 2023-09-12