TP 实例化模型

TP 实例化模型

例:new UserModel();

$userModel = new UserModel('库名.表名');

如果传了'库名.表名' 或 '表名',则设置$this->name = 表名;  否则$this->name =xxxModel 的前半部分

$this->db()方法来连接数据库

$this->db()方法中-->_checkTableInfo()--->$db->getFields()方法

$db->getFields()方法中使用了一个‘show columns from 表名’(或者 desc 表名)

$this->construct()--->$this->db()--->$this->_checkTableInfo()--->$this->flush--->$db->getFields()

注意:什么时间获取列名?(和配置文件加载顺序有关,app 的conf/debug.php 加载顺序优于Thinkphp 的conf/debug.php)

1、如果$this->fields属性为空,则自动获取

2、同时,如果DB_FIELDS_CACHE选项为false,则每次刷新都会分析列名

3、如果开启DB_FIELDS_CACHE选项为true,则意味着分析的结果会被缓存,下次直接读缓存里的列信息

 

 

posted @ 2012-10-13 18:34  船到桥头  阅读(1448)  评论(0编辑  收藏  举报