今天小涛浏览tp的官方网站时发现了一个问题:最新的SVN版本增加了field(true)用法支持,和field(‘*’)用法的区别在于 field(true)是显式的获取数据表的全部字段,下面举例说明一下:
最新的SVN版本增加了field(true)用法支持,和field(‘*’)用法的区别在于
field(true)是显式的获取数据表的全部字段,举例说明:
think_data表有id,name,data,status 4个字段,我们使用
$model = M(‘Data’);
$model->field(‘*’)->select();
// 或者
// $model->select();
最后生成的SQL语句是
SELECT * FROM think_data
而如果使用
$model->field(true)->select();
的话,生成的SQL语句则是:
SELECT id,name,data,status FROM think_data
也许有人认为不是一样的结果么,O(∩_∩)O~对于高性能的设计来说 就有区别
新版还增加了字段排除的用法,例如:
$model->field(‘status,name’,true)->select();
表示排除数据表中的status和name字段,最后生成的SQL语句就变成了:
SELECT id,data FROM think_data
所以,以后自己就可以根据性能方面来合理的使用field字段了!