thinkphp field是啥意思
2016-09-27 · 知道合伙人互联网行家
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