生成的model label是否可以自动获取表字段的COMMENT

在设计表的时候为表的每个字段都有添加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…

我也同意这个观点。。。先自己重载一个用用吧

我用了这个代码,但是好象没有工作,奇怪了~~~~~~