在设计表的时候为表的每个字段都有添加COMMENT,想在生成的model的attributeLabels中自动用这个COMMENT来作为label是否能实现?如果能这样还是很方便的
在设计表的时候为表的每个字段都有添加COMMENT,想在生成的model的attributeLabels中自动用这个COMMENT来作为label是否能实现?如果能这样还是很方便的
嗯,这个建议挺好的。省点事情。呵呵
关键是怎么读取COMMENT的内容呢?SQL语句能实现吗?
comment只是一个string,怎么匹配那么多lable。难道用 系列化,或者是分隔符?
如果你能解决上面的思路,则在model command里面应该可以做的。
但我觉得还不如 修改model这样现实。
我感觉model,缺少一个 modelName的名字函数。而且model command支持这个参数的传递,就更漂亮了。
这样 “className admin”的名字,
就可以用 “modelName 管理” 来替换了。
每个表字段都有comment,支持楼主
这个希望qiang考虑下是否在ColumnSchema里面实现一下,在SHOW CREATE TABLE 里面有comment信息或者SELECT COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name’也可以获取到。
目前重写gii的ModelCode中的generateLabels可以达到我的目的
	public function generateLabels($table)
	{
		$labels=array();
		$sql ="SELECT COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table->name'";
		$res = Yii::app()->getDb()->createCommand($sql)->query();
		foreach ($res as $column){
			if (!empty($column['COLUMN_COMMENT']))
				$labels[$column['COLUMN_NAME']]= $column['COLUMN_COMMENT'];
			else
				$labels[$column['COLUMN_NAME']]= $column['COLUMN_NAME'];
		}
		return $labels;
	}
直接生成
    public function attributeLabels()
    {
        return array(
            'id' => 'id',
            'title' => '标题',
            'image' => '缩略图',
            'keyword' => '关键字',
            'description' => '页描述',
            'catgoryId' => '分类 ID',
            'status' => '状态',
            'hits' => '点击数',
            'createTime' => '日期',
        );
    }
赞一个,看来又要节约我的时间了。呵呵
还是不要使用comment作为label吧.想想把,它仅仅是个comment。我经常的comment会是一大堆的东东(比如,存入的字符串是什么格式(逗号分隔),pid是逻辑主键还是业务主键,又或者外键与什么表的字段关联。)所以comment的东东还是不要生成label的好,想想只是添加个label而已,任务因该不多。 
哎 过于追求完美 不好 。comment不能胜任这么大的任务 而且在在mysql里面 comment是用来充当关系定义的角色。
嗯,如果你的是写那么多注释确实不合适,看来还是小众需求,自己要就重写一下这个方法也蛮简单,甚至自己可以做两套
这个是字段的comment不是表的comment…
我也同意这个观点。。。先自己重载一个用用吧
我用了这个代码,但是好象没有工作,奇怪了~~~~~~