子午 2012-04-07 11:07:34 4325次浏览 0条回复 0 0 0

[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));
    }

}

目前只是简单的实现将生成的模型类的注释翻译为中文。大家可以借助于定义此文件,实现更多的自定义功能,也可以参照实现控制器类、视图类等的自定义。

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册