field('*')和field(true)的用法区别

浏览:2867 发布日期:2012/02/25 分类:新闻动态
最新的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 这些都是ThinkPHP的细节所在~简单而有内涵的体现!
评论( 相关
后面还有条评论,点击查看>>