首页 > yii2教程 > yii2数据库使用

yii2数据表模型类--Active Record (活动记录)

Active Record (活动记录,以下简称AR)提供了一个面向对象的接口, 用来访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。 您可以直接以面向对象的方式来操纵数据表中的数据

连接数据库

AR 用一个 DB connection 对象与数据库交换数据。 默认的,它使用 db 组件作为其连接对象。在应用程序配置文件中设置下 db 组件,

return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=user',
'username' => 'aa',
'password' => 'aa',
],
],
];

如果应用中使用了多个数据库,如果需要给一个 AR 类使用不同的数据库链接(DB connection) ,覆盖 getDb() 方法:

class Userextends ActiveRecord
{
// ...

public static function getDb()
{
return \Yii::$app->db2; // 使用名为 "db2" 的应用组件
}
}

创建 AR 类

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

namespace app\models;

use yii\db\ActiveRecord;

class User extends ActiveRecord
{
/**
* @return string 返回该AR类关联的数据表名
*/
public static function tableName()
{
return 'user';
}
}

访问列数据

AR 把相应数据行的每一个字段映射为 AR 对象的一个个特性变量(Attribute)即一个普通对象的公共属性(public property)。 特性变量的名称和对应字段的名称是一样的。

使用以下语法读取列的值:

// "id"  "name"  $user 对象所关联的数据表的对应字段名
$id = $user->id;
$name = $user->name;
//要改变列值,只要给关联属性赋新值并保存对象即可:

$user->name = 'aa';
$user->save();

使用gii自动生成AR类

访问gii模块的链接为:

http://127.0.0.1/index.php/gii

详细说明:http://www.yuqingqi.com/yii2/605.html

 

美景欣赏

美景欣赏

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。