活动记录提供了用于访问数据库的面向对象的API。Active Record类与数据库表关联。
		Yii提供了以下关系数据库活动记录支持 -
	
	- MySQL 4.1 +
- SQLite 2 和 3:
- PostgreSQL 7.3 +
- Microsoft SQL Server 2008 +
- CUBRID 9.3 +
- Oracle
- ElasticSearch
- Sphinx
		此外,Active Record 类支持下面 NoSQL 数据库 -
	
	- Redis 2.6.12+
- MongoDB 1.3.0+
		(在本例中的模型是 MyUser)为一个单独的数据库表声明一个Active Record类之后,应该按照以下步骤来查询数据 -
	
	- 
			创建一个新的查询对象,使用 yii\db\ActiveRecord::find() 方法。
- 
			构建查询对象
- 
			调用一个jquery方法来检索数据
		第1步 - 修改 actionTestDb() 方法,使用以下代码。
	
public function actionTestDb() {
   // return a single user whose ID is 1
   // SELECT * FROM `user` WHERE `id` = 1
   $user = MyUser::find()
      ->where(['id' => 1])
      ->one();
   var_dump($user);echo '<hr/>';
   // return the number of users
   // SELECT COUNT(*) FROM `user`
   $users = MyUser::find()
      ->count();
   var_dump($users);echo '<hr/>';
   // return all users and order them by their IDs
   // SELECT * FROM `user` ORDER BY `id`
   $users = MyUser::find()
      ->orderBy('id')
      ->all();
   var_dump($users);
}
	
		上面给出的代码演示了如何使用 ActiveQuery 来查询数据。
	
	
	
		一个共同的任务是通过主键值查询或一组列的值,这就是为什么 Yii 提供以下方法 -
	
	- 
			yii\db\ActiveRecord::findOne() − 返回一个活动记录(Active Record)实例 
- 
			yi\db\ActiveRecord::findAll() − 返回 ActiveRecord 的实例数组 
如下实例 −
public function actionTestDb() {
   // returns a single customer whose ID is 1
   // SELECT * FROM `user` WHERE `id` = 1
   $user = MyUser::findOne(1);
   var_dump($user);
   // returns customers whose ID is 1,2,3, or 4
   // SELECT * FROM `user` WHERE `id` IN (1,2,3,4)
   $users = MyUser::findAll([1, 2, 3, 4]);
   var_dump($users);
   // returns a user whose ID is 5
   // SELECT * FROM `user` WHERE `id` = 5
   $user = MyUser::findOne([
      'id' => 5
   ]);
   var_dump($user);
}
	
		
			将数据保存到数据库
		
	
	
		将数据保存到数据库中,应该调用 yii\db\ActiveRecord::save()方法。
	
	
		第1步 - 修改 actionTestDb() 方法,并使用以下代码。
	
public function actionTestDb() {
   // insert a new row of data
   $user = new MyUser();
   $user->name = 'MyCustomUser2';
   $user->email = 'mycustomuser@gmail.com';
   $user->save();
   var_dump($user->attributes);
   
   // update an existing row of data
   $user = MyUser::findOne(['name' => 'MyCustomUser2']);
   $user->email = 'newemail@gmail.com';
   $user->save();
   var_dump($user->attributes);
}
	
	
		要删除单行数据,应该 -
	
	- 
			检索活动记录(Active Record)实例
- 
			调用 yii\db\ActiveRecord::delete() 方法 
		第1步 - 修改 actionTestDb() 方法,并使用以下代码。
	
public function actionTestDb() {
   $user = MyUser::findOne(2);
   if($user->delete()) {
      echo "User ID => 2 is deleted";
   } 
}
	
	
		第3步 - 也可以调用 yii\db\ActiveRecord::deleteAll() 方法删除多行数据,例如。
	
public function actionTestDb() {
    MyUser::deleteAll('id >= 20');
}



