diff options
Diffstat (limited to 'framework/cli/views/shell/model/model.php')
| -rw-r--r-- | framework/cli/views/shell/model/model.php | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/framework/cli/views/shell/model/model.php b/framework/cli/views/shell/model/model.php new file mode 100644 index 0000000..b1137db --- /dev/null +++ b/framework/cli/views/shell/model/model.php @@ -0,0 +1,113 @@ +<?php +/** + * This is the template for generating a model class file. + * The following variables are available in this template: + * - $className: the class name + * - $tableName: the table name + * - $columns: a list of table column schema objects + * - $rules: a list of validation rules (string) + * - $labels: a list of labels (column name => label) + * - $relations: a list of relations (string) + */ +?> +<?php echo "<?php\n"; ?> + +/** + * This is the model class for table "<?php echo $tableName; ?>". + * + * The followings are the available columns in table '<?php echo $tableName; ?>': +<?php foreach($columns as $column): ?> + * @property <?php echo $column->type.' $'.$column->name."\n"; ?> +<?php endforeach; ?> + */ +class <?php echo $className; ?> extends CActiveRecord +{ + /** + * Returns the static model of the specified AR class. + * @return <?php echo $className; ?> the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } + + /** + * @return string the associated database table name + */ + public function tableName() + { + return '<?php echo $tableName; ?>'; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() + { + // NOTE: you should only define rules for those attributes that + // will receive user inputs. + return array( +<?php foreach($rules as $rule): ?> + <?php echo $rule.",\n"; ?> +<?php endforeach; ?> + // The following rule is used by search(). + // Please remove those attributes that should not be searched. + array('<?php echo implode(', ', array_keys($columns)); ?>', 'safe', 'on'=>'search'), + ); + } + + /** + * @return array relational rules. + */ + public function relations() + { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + return array( +<?php foreach($relations as $name=>$relation): ?> + <?php echo "'$name' => $relation,\n"; ?> +<?php endforeach; ?> + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + return array( +<?php foreach($labels as $column=>$label): ?> + <?php echo "'$column' => '$label',\n"; ?> +<?php endforeach; ?> + ); + } + + /** + * Retrieves a list of models based on the current search/filter conditions. + * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. + */ + public function search() + { + // Warning: Please modify the following code to remove attributes that + // should not be searched. + + $criteria=new CDbCriteria; + +<?php +foreach($columns as $name=>$column) +{ + if($column->type==='string') + { + echo "\t\t\$criteria->compare('$name',\$this->$name,true);\n\n"; + } + else + { + echo "\t\t\$criteria->compare('$name',\$this->$name);\n\n"; + } +} +?> + return new CActiveDataProvider('<?php echo $className; ?>', array( + 'criteria'=>$criteria, + )); + } +}
\ No newline at end of file |
