一、yii框架model模型的理解
每一个model就是一个类文件,每一个model还对应一个数据表。
例如:数据库中有t_goods表,则在模型中创建一个名为goods的类对应该表。
模型(类)的属性就是数据表的字段,模型(类)创建出来的对象就是数据表的记录。
二、 创建model
1. 在/protected/models文件夹中创建 Goods.php, 对应数据表t_goods。
这里并没有在modules中创建houtai对应的模型,这是因为通常各个模块中公用数据库。modules中,如果不存在对应代码,会自动往上级查询。
<?php /* * 模型中有两个固定方法,缺一不可 * model() 创建模型对象,静态方法 * tableName() 返回当前数据表名 */ class Goods extends CActiveRecord{ //模型的固定写法 // 返回当前模型对象的静态方法 public static function model($className = __CLASS__){ return parent::model($className); } // 返回当前数据表名 public function tableName(){ return '`goods`'; } } ?>
在这里返回数据表名时,并没有将表前缀 t_ 写上,而是通过` `关联表前缀。
需要在主配置数据库连接'db'键值中,设置数据表前缀。
增加:
'tablePrefix' => 't_'
CActiveRecord 是活跃记录,AR将数据表的记录以类的形式呈现出来。
三、 通常,有多少数据表就要建立多少模型,我们对数据库进行操作,需要实例化模型类,产生对象,通过调用对象的相关方法,实现数据库的操作。