我想知道KOHANA模型上$ _table_columns数组的功能是什么。
我问这个,因为表的列是通过内省加载的,这个数组的用途是什么,它是属性的默认值吗?
答案 0 :(得分:0)
$_table_columns
反映了您的表列结构。因此,如果您的表有3列(id,name,desc),$_table_columns
将设置为array('id' => '', 'name' => '', 'desc' => '')
。
默认情况下,$_table_columns
是一个空数组。当您使用类扩展ORM并且不覆盖$_table_columns
时,ORM将通过调用SHOW FULL COLUMNS FROM table_name
命令自动填充它。如果您想避免这种额外的数据库调用,可以自行初始化$_table_columns
:
class Model_User extends ORM {
protected $_table_columns = array('id' => '', 'name' => '', 'desc' => '');
}
查看here了解详情。