纸飞机 2011-07-22 22:06:32 3704次浏览 5条回复 0 0 0

在视频中,我看了关于

$user=User::model()->find('LOWER(username)=?',array(strtolower($this->username)));

这段话,非常不明白为何如此写法。刚开始觉得很茫然。后来听到老大在视频中讲到

需要用到Active Record 的类。

于是马上去查找Active Record

教程。果然看到了AR的用法

定义 AR 类 要访问一个数据表,我们首先需要通过集成 CActiveRecord 定义一个 AR 类。每个 AR 类代表一个单独的数据表,一个 AR 实例则代表那个表中的一行。如下例子演示了代表 tbl_post 表的 AR 类的最简代码:

class Post extends CActiveRecord
{
  public static function model($className=__CLASS__)
  {
    return parent::model($className);
  }
 
  public function tableName()
  {
    return 'tbl_post';
  }
}

如何查询:

// 查找满足指定条件的结果中的第一行

$post=Post::model()->find($condition,$params);

// 查找具有指定主键值的那一行

$post=Post::model()->findByPk($postID,$condition,$params);

// 查找具有指定属性值的行

$post=Post::model()->findByAttributes($attributes,$condition,$params);

// 通过指定的 SQL 语句查找结果中的第一行

$post=Post::model()->findBySql($sql,$params);
您需要登录后才可以回复。登录 | 立即注册