我正在使用 giix 来扩展模型(和 crud)行为。在此,我想专门处理时间戳类型的列(在我的模型中已经存在),就像处理自动增量字段一样。(即被忽略且未显示。)但是,没有属性$column->isTimestamp
。我想在某个地方添加这个,但我很茫然,最好的地方是什么。我是把它放在某个地方的 giix 中,还是我必须扩展列基类?
编辑:我想从每个视图中忽略它们,对于每个表。由于这是很多工作,而且这是我一直想要的,所以我想自动化它。调整生成器似乎最有意义,但我不确定最好的方法是什么。
我正在使用 giix 来扩展模型(和 crud)行为。在此,我想专门处理时间戳类型的列(在我的模型中已经存在),就像处理自动增量字段一样。(即被忽略且未显示。)但是,没有属性$column->isTimestamp
。我想在某个地方添加这个,但我很茫然,最好的地方是什么。我是把它放在某个地方的 giix 中,还是我必须扩展列基类?
编辑:我想从每个视图中忽略它们,对于每个表。由于这是很多工作,而且这是我一直想要的,所以我想自动化它。调整生成器似乎最有意义,但我不确定最好的方法是什么。
您将需要查询列模式,我没有使用 giix 但找到它在哪里生成视图,它应该循环通过模型属性或基础表模式。
如果它在模式中循环:
//you can also ask Yii for the table schema with Yii::app()->db->schema->getTable[$tableName];
if ('timestamp' === $tableSchema->columns[$columnName]->dbType)
continue; //skip this loop iteration
如果它遍历属性:
$dbType = Yii::app()->db->schema->getTable[$model->tableName]->columns[$modelAttribute]->dbType;
if ('timestamp' === $dbType)
continue; //skip this loop iteration
这是过程:
'db' => array( 'connectionString' => 'mysql:host=localhost;dbname=database', 'username' => '', 'password' => '', 'driverMap' => array('mysql' => 'CustomMysqlSchema'), ),