下面就为大家讲解关于“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操作实例详解 - Python技术站