自定义Gii生成模型类的代码模板 [ 新手入门 ]
[attach]684[/attach]
请将此文件解压到 yii_1.1.10/framework/gii/generators/model/templates
下。
示例:
Sql表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) DEFAULT NULL,
`qq` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
使用此模板生成的Model类代码:
<?php
/**
* 这是表 "user" 的模型类。
*
* 下面是表 "user" 中可用的列:
* @property integer $id
* @property string $name
* @property string $password
* @property string $email
* @property string $qq
*
* 下面是模型中可用的关联:
* @property Permission[] $permissions
* @property Role[] $roles
*/
class User extends CActiveRecord {
/**
* 返回指定 AR 类的静态模型。
* @param string $className 活动记录类的名字。
* @return User静态模型类
*/
public static function model($className = __CLASS__) {
return parent::model($className);
}
/**
* @return string 相关联的数据库表名。
*/
public function tableName() {
return 'user';
}
/**
* @return array 模型属性的验证规则。
*/
public function rules() {
// 注意: 仅需为可能接受用户输入的属性定义规则。
return array(
array('name, password', 'required'),
array('name, password, email, qq', 'length', 'max' => 255),
);
}
/**
* @return array 模型的关联。
*/
public function relations() {
return array(
'permissions' => array(self::HAS_MANY, 'Permission', 'user'),
'roles' => array(self::MANY_MANY, 'Role', 'role_user(user, role)'),
);
}
/**
* @return array 为属性自定义的标签。 (name=>label)
*/
public function attributeLabels() {
return array(
'id' => 'ID',
'name' => 'Name',
'password' => 'Password',
'email' => 'Email',
'qq' => 'Qq',
);
}
/**
* 基于当前的检索/过滤条件,检索出符合条件的模型实例。
* @return CActiveDataProvider 可以基于当前的检索/过滤条件返回模型实例的数据提供者。
*/
public function search() {
// 注意:请修改下面的代码,将不需要检索的属性移除。
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('name', $this->name, true);
$criteria->compare('password', $this->password, true);
$criteria->compare('email', $this->email, true);
$criteria->compare('qq', $this->qq, true);
return new CActiveDataProvider($this, array('criteria' => $criteria));
}
}
目前只是简单的实现将生成的模型类的注释翻译为中文。大家可以借助于定义此文件,实现更多的自定义功能,也可以参照实现控制器类、视图类等的自定义。
共 0 条回复
没有找到数据。
子午 贵州
注册时间:2012-03-19
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱25
- 威望0
- 积分25